Где в пользовательском модуле вы можете объявить/объединить все свои пользовательские функции


Я создаю административный модуль, который расширяет массовые действия по заказу на продажу.

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

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

Например, если я собираю данные post в своем контроллере, например итак:

$orderIds = $this->getRequest()->getPost('order_ids', array());

А затем я просматриваю заказы вот так и хочу использовать обычай...

foreach ($orderIds as $orderId){
            $order = Mage::getModel('sales/order')->load($orderId);
            echo myCustomFunction($orderId);
        }

Где я буду хранить эту пользовательскую функцию и как я буду вызывать ее в контроллере? Обычно за пределами Magento я бы создал что-то вроде functions.php файл и поместите include_once, но у меня такое чувство, что это не лучший способ использовать архитектуру Magento.

Author: James, 2013-08-01

1 answers

Хитрость заключалась в том, чтобы создать еще один файл в папке Models, которая в данном случае называется CustomFunctions.php

Который начинается так

class Name_Space_Model_CustomFunctions
{
//Add in all custom functions here

public function myRandomFunction($variable){
$response = "This function has been passed the variable - " . $variable;
return $response;
}

}

Затем в одном из контроллеров вы можете получить к нему доступ следующим образом:

$foo = "bar";
$answer = Mage::getModel('name_space/customfunctions')->myRandomFunction($foo);
echo $answer;

Эхо $answer погасило бы "This function has been passed the variable - bar"

 3
Author: James, 2013-08-01 07:16:43