Где в пользовательском модуле вы можете объявить/объединить все свои пользовательские функции
Я создаю административный модуль, который расширяет массовые действия по заказу на продажу.
Я нахожусь в точке, где я добавил свой модуль в раскрывающийся список массовых действий, и получаю данные 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.
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"