Es gibt viele Dinge, die mit Ihrer Implementierung falsch sein könnten, aber es ist unmöglich zu sagen, ohne Ihren Code zu sehen. Trotzdem werde ich es versuchen. Dieses Tutorial sieht gut aus, aber ich habe den Code nicht ausgeführt, daher kann ich nicht sicher sein. Ich neige dazu zu denken, dass du vielleicht etwas verpasst hast. Arbeiten in Rastern & Tabs können in den besten Zeiten besonders empfindlich sein.
Es klingt für mich wie es eines von zwei Dingen ist. Es klingt wie
A) Ihre Modelldaten werden nicht in der Registrierung gespeichert. Das bedeutet, dass das Problem in diesem Teil des Codes ist:
<?php
class Pfay_Test_Adminhtml_IndexController extends Mage_Adminhtml_Controller_Action
{
...
public function editAction()
{
$testId = $this->getRequest()->getParam('id');
$testModel = Mage::getModel('test/test')->load($testId);
if ($testModel->getId() || $testId == 0)
{
Mage::register('test_data', $testModel);
}
Was dieser Abschnitt von Code tut, ist ‚Register‘ das ausgewählte Modell in Magento-Registry. Später im Code wird Folgendes angezeigt:
$form->setValues(Mage::registry('test_data')->getData());
, um Ihre Formularfelder zu füllen.
Try Befehle wie diese im Code setzen oben:
var_dump($testId);
die();
oder
print_r($testModel);
die();
und es wieder zum Laufen. Wird $ testId gesetzt? Wird $ testModel geladen? Wird die if-Anweisung für die Registrierung geladen? Wenn nicht, verfolgen Sie das Problem zurück.
oder es könnte auch
B) Ihre Form ist nicht Daten Vorabauffüllen weil die Spaltennamen sind falsch.
Schauen Sie, wo der Code sagt:
<?php
class Pfay_Test_Block_Adminhtml_Test_Edit_Tab_Form extends Mage_Adminhtml_Block_Widget_Form
{
protected function _prepareForm()
{
$form = new Varien_Data_Form();
$this->setForm($form);
$fieldset = $form->addFieldset('test_form', array('legend'=>'ref information'));
$fieldset->addField('nom', 'text',
array(
'label' => 'Nom',
'class' => 'required-entry',
'required' => true,
'name' => 'nom',
)
);
Sie müssen sicherstellen, dass „nom“ in der Tat ist eine Ihrer Attributnamen des Modells. Haben Sie die Attributnamen beim Erstellen Ihres Testmodells geändert und vergessen, es hier zu ändern? Ändern Sie diese Werte entsprechend.
Ich hoffe, dass dies hilft Ihnen, Ihr Problem zu lösen. Viel Glück!