Разрабатывая модуль для движка интернет магазина Magento столкнулся с такой проблемой Recoverable Error: Argument 1 passed to Mage_Core_Controller_Varien_Action::__construct() must be an instance of Zend_Controller_Request_Abstract, null given, called in
Это произошло потому, что в Observer.php (у меня в этом файле находятся методы которые выполняются по событиям magento (magento events http://www.magentocommerce.com/wiki/5_-_modules_and_development/reference/magento_events)) я вызываю метод одного из контроллеров модуля, а конструктор контроллера имеет такой вид (правда это конструктор класса родителя, от которого наследуется мой класс контроллера)
public function __construct(Zend_Controller_Request_Abstract $request, Zend_Controller_Response_Abstract $response, array $invokeArgs = array())
{
$this->_request = $request;
$this->_response= $response;
Mage::app()->getFrontController()->setAction($this);
$this->_construct();
}
|
и естественно, что при таком вызове в Observer.php
$controller = new CompanyName_ModuleName_Adminhtml_MyController();
выпадет ошибка так как в конструктор не передаются параметры. Читать дальше »
У меня был как-то раз глюк при импорте товаров в движке интернет-магазина magento. Поля, которые не были указаны в csv файле просто сбрасывались на значение по умолчанию. У меня лично сбрасывалось значение manufacturer.
Исправить данную оплошность можно вот как:
1. В файле app/code/core/Mage/ImportExport/Model/Import/Entity/Product/Type/Abstract.php
нужно найти такой вот кусок кода в функции prepareAttributesForSave
elseif (null !== $attrParams['default_value']) {
$resultAttrs[$attrCode] = $attrParams['default_value'];
}
2. А теперь просто удалите или закомментируйте этот кусок кода.
Все. Теперь должно работать. Надеюсь вам помогло.
До скорых встреч.
Создавая модуль для cms движка интернет магазина под названием Magento, с первого раза не получилось подключить wysiwyg tinyMCE к контентному полю формы в админке. Пробовал многие рекомендации в интернете на форумах и блогах. Но все оно было либо не рабочим совсем, либо какой-то маленькой детали всегда не хватало. Поэтому совместив все рекомендации по данному вопросу, вывел окончательную рабочую формулу для себя. Может и вам она будет полезна. И так начнем.
Читать дальше »
Моя сотрудница по работе, Евгения, нашла случайно в magento маленький неудобный баг. Вот ее слова дословно
Отправляю тебе описание той ошибки в мадженте, с которой я столкнулась при редактировании сайта comtesse:
Заходим в Manage categories, затем заходим в редактируемую категорию. При переводе категории на фр. язык (Choose store view) – все поля были отмечены галочками, так как использовались по дефаулту. После снятия галочек, поля не стали активными (поля: Name, URL key, Page title, meta keywords, Meta description, Include in Navigation Menu), но после нажатия любой закладки, к примеру, Dispay settings – все поля стали активными. Читать дальше »
Для добавления еще одной проверки при редактировании адреса покупателя в magento я вынужден был переопределять абстрактный класс в magento. Вот этот класс Mage/Customer/Model/Address/Abstract.php
Первым делом я написал по стандарту вот так в файле моего модуля config.xml
<global>
<models>
…
<customer>
<rewrite>
<address_abstract>Namespace_Modelname_Model_Customer_Address_Abstract</address_abstract>
</rewrite>
</customer>
</models>
…
Читать дальше »
Если у вас есть модуль для magento, который вы только что написали или переделали чужой под себя, но не можете избавиться от ошибки которая указана в теме данного поста (Fatal error: Call to a member function toOptionArray() on a non-object), то вам стоит читать дальше.
Я подозреваю, что вы делали какие либо настройки для модуля в файле system.xml
И если эти настройки будут видны не на вкладке самого модуля, а на вкладке например shipping methods, то ошибка скорее всего кроется в том, что вы пытаетесь создать опцию с выпадающим списком “select” и сделать туда вывод своего списка составленного по какому-то вашему алгоритму. Вот здесь и кроется ошибка многих. Читать дальше »
Приветствую дорогой читатель!
Обычно я создаю модули для magento по шаблону с помощью такой фишки как ModuleCreator от самой же magento. Но сегодня мне понадобилось создать небольшую форму для давнишнего модуля ручками. Но в конце моего кодирования меня ждало разочарование. При нажатии на кнопку submit меня перекидывало на dashboard, я никак не мог понять почему. По десять раз перепроверил контроллер, вьюшку и настройки блока в layout xml, но все тщетно. Я догадывался, что это связано с параметром key в урле, но я не понял как его пристроить к форме. Вообщем через пол часа я не выдержал и пошел смотреть, что для этого делает modulecreator . А он оказывается просто добавляет особое поле с ключем. Вот это поле
<input name=”form_key” type=”hidden” value=”<?php echo Mage::getSingleton(‘core/session’)->getFormKey() ?>” />
Вот и все, проблема решена. Если нет – обсуждаем дальше …
При обновлении интернет магазина magento с версии 1.4.0 до 1.6.2 столкнулся с такой вот ошибкой, которая не давала сделать reindex
DEBUG (7): Exception message: SQLSTATE[23000]: Integrity constraint violation: 1452 Cannot add or update a child row: a foreign key constraint fails (`xxx`.`catalog_category_product_index`, CONSTRAINT `
` FOREIGN KEY (`category_id`) REFERENCES `catalog_category_entity` (`entity_id`)
Когда начал разбираться, оказалось, что в базе данных в таблице catalog_category_product_index есть продукты которые привязаны к несуществующим категориям. Как такое могло произойти не выяснял, но факт остается фактом.
Мои действия по исправлению ситуации: Читать дальше »
Дело было так.
Нужно было заказчику обновить его магазин на magento с версии 1.4.1.1 до версии 1.6.0 , но вся загвоздка была в том, что этот магазин до нас уже пытались обновить, и на версии 1.5.1 скорее всего произошла какая-то ошибка и дальше дело не пошло. Магазин работал частично, причем дампа свежего не было.
Что тут скажешь
Первым делом я попытался обычным способом через magento connect и таки обновил до 1.4.2 , но ошибки не ушли. Скорее всего от недообновленной версии 1.5 остались файлы которые выдавали ошибки то там то здесь.
Например: Читать дальше »
Делая модули для Magento? столкнулся с такой проблемой. После того как создал каркас модуля с помощью ModuleCreator. Читать дальше »