magento - создать глобальную функцию - PullRequest
4 голосов
/ 26 января 2011

Я хочу создать функцию, к которой могут обращаться все файлы * .phtml.Где я должен разместить эту функцию в magento framework?

Ответы [ 5 ]

6 голосов
/ 02 ноября 2011

Для грязных вещей вы всегда можете определить это в index.php. например, я всегда помещаю эту функцию туда:

<code>function dumpit($obj)
{
  print '<pre>';
  print_r($obj);
  print '
'; }

Затем вы можете быстро вызвать эту подпрограмму из любого места, не запоминая имена всех других служебных функций, чтобы получить помощника.

5 голосов
/ 26 января 2011

Вы должны создать модуль и вспомогательный класс в этом модуле (обычно MyCompany_Mymodule_Helper_Data по умолчанию). Затем добавьте свою функцию в этот вспомогательный класс. Вы можете получить эту функцию в своем PHTML следующим образом:

Mage::helper("mymodule")->someFunction();

Надеюсь, это поможет!

Спасибо, Джо

2 голосов
/ 08 июня 2011

C:\wamp\www\mydirectory\app\code\core\Mage\Page\Helper\Data.php мой путь.Я использовал функцию print_r в качестве функции pr().

Введите Data.php, как показано ниже.

<code>class Mage_Page_Helper_Data extends Mage_Core_Helper_Abstract
{
    function pr($data) 
    {
        echo "<pre>";
        print_r($data);
        echo "
";}}

где страницаmymodule.

Вызовите его из любого файла .phtml с помощью

Mage::helper("page")->pr($abcd);

Надеюсь, это поможет.

1 голос
/ 14 июня 2011

Для тех, кто заинтересован, я собрал краткое руководство по созданию глобальной функции в Magento: http://joe -riggs.com / blog / 2011/06 / create-global-function-in-magento /

0 голосов
/ 28 января 2015

Меня просто НЕ МОГУТ смириться с чрезмерно раздутыми кошмарами, которые являются модулями и блоками Magento, и поэтому я ранее использовал ответ, предоставленный @ Billy , так как он прост без особого участия.

К сожалению, это решение, похоже, не работает в среде локального сервера. После небольшого исследования я обнаружил, что могу разместить свои глобальные функции здесь:

.../app/code/local/Mage/Core/functions.php

Наконец, я прочитал, что это не совсем доказательство обновления , но оно работает для меня.

...