Magento -Aufruf In einer Funktion des Modells im Controller
-
16-10-2019 - |
Frage
Ich habe eine Funktion ABC im Modell. Ich möchte diese Funktion ABC in Controller aufrufen.
Ich bin neu in Magento und DNT haben eine Idee dazu. Kann mir jeder Körper sagen, wie das geht
Lösung
Es heißt magische Funktion.
$yourModel = Mage::getModel('yourmodulename/yourmodelname')->load($id);
$return = $yourModel->abc();
oder du kannst tun
$yourModel = Mage::getSingleton('yourmodulename/yourmodelname')->load($id);
$return = $yourModel->abc();
Dies ist Ihre Referenz von Getsingleton gegen GetModel
Andere Tipps
Sie können verwenden
Mage::getModel('modulename/modulename')->yourMethod();
Angenommen, Sie möchten dann eine Katalogkategorie
Mage::getModel('catalog/category')->load($id);
Angenommen, Ihre Konfiguration ist - -
<models>
<modulename> <!-- this here is the first part of your getModel() call -->
<class>Packagename_Modulename_Model</class>
<resourceModel>modulename_mysql4</resourceModel>
</modulename>
<modulename_mysql4>
<class>Packagename_Modulename_Model_Mysql4</class>
<entities>
<abc>
<table>table_abc</table>
</abc>
</entities>
</modulename_mysql4>
</models>
Jetzt brauchen Sie den zweiten Teil nach dem /
. Wenn Ihr Modellname lautet: Packagename_Modulename_Model_Abc
, Dann nehmen Sie alles nach Ihrem Präfix, was in der Konfiguration definiert wurde Packagename_Modulename_Model
, Kleinbuchstaben den ersten Charakter
Jetzt können Sie auf Ihr Modell zugreifen: folgt:
Mage::getModel('modulename/abc')->yourMethod();
Wenn das Modell in einem Unterordner Ihres Moduls lebt, müssen Sie es laden wie:
Mage::getModel('yourmodelname_as_defined_in_config/path_to_file_filename')
Beispiel
Belastung app/code/local/Aschroder/SMTPPro/Model/Email/Log.php
wie Mage::getModel('smtppro/email_log');