490f08a9

Ошибка 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

Magento, Баги, глюки, ошибки, недочеты, Программирование

Разрабатывая модуль для движка интернет магазина 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 и слетающие поля при импорте продуктов

Magento, Баги, глюки, ошибки, недочеты

У меня был как-то раз глюк при импорте товаров в движке интернет-магазина 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. А теперь просто удалите или закомментируйте этот кусок кода.

Все. Теперь должно работать. Надеюсь вам помогло.
До скорых встреч.


Magento, wysiwyg и ошибка Uncaught ReferenceError: tinyMceWysiwygSetup is not defined

Magento, Баги, глюки, ошибки, недочеты

Tagged Under : , , , ,

Создавая модуль для cms движка интернет магазина под названием Magento, с первого раза не получилось подключить wysiwyg tinyMCE к контентному полю формы в админке. Пробовал многие рекомендации в интернете на форумах и блогах. Но все оно было либо не рабочим совсем, либо какой-то маленькой детали  всегда не хватало. Поэтому совместив все рекомендации по данному вопросу, вывел окончательную рабочую формулу для себя. Может и вам она будет полезна. И так начнем.
Читать дальше »


неприятный баг в magento : admin create category page

Magento, Баги, глюки, ошибки, недочеты, Заметки

Tagged Under : ,

Моя сотрудница по работе, Евгения, нашла случайно в magento маленький неудобный баг. Вот ее слова дословно

Отправляю тебе описание той ошибки в мадженте, с которой я столкнулась при редактировании сайта comtesse:

Заходим в Manage categories, затем заходим в редактируемую категорию. При переводе категории на фр. язык (Choose store view) – все поля были отмечены галочками, так как использовались по дефаулту. После снятия галочек, поля не стали активными (поля: Name, URL key, Page title, meta keywords, Meta description, Include in Navigation Menu), но после нажатия любой закладки, к примеру, Dispay settings – все поля стали активными. Читать дальше »


Заметки на полях: Переопределение абстрактных классов в magento

Magento, Заметки, Программирование

Tagged Under : , ,

Для добавления еще одной проверки при редактировании адреса покупателя в 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 source_model в system.xml и ошибка Fatal error: Call to a member function toOptionArray() on a non-object

Magento, Заметки, Программирование

Tagged Under : , , ,

Если у вас есть модуль для magento, который вы только что написали или переделали чужой под себя, но не можете избавиться от ошибки которая указана в теме данного поста (Fatal error: Call to a member function toOptionArray() on a non-object), то вам стоит читать дальше.

Я подозреваю, что вы делали какие либо настройки для модуля в файле system.xml
И если эти настройки будут видны не на вкладке самого модуля, а на вкладке например shipping methods, то ошибка скорее всего кроется в том, что вы пытаетесь создать опцию с выпадающим списком “select” и сделать туда вывод своего списка составленного по какому-то вашему алгоритму. Вот здесь и кроется ошибка многих. Читать дальше »


Заметки на полях: Непонятный редирект на dashboard при отправке формы в админке magento

Magento, Заметки, Программирование

Tagged Under :

Приветствую дорогой читатель!

Обычно я создаю модули для magento по шаблону с помощью такой фишки как ModuleCreator от самой же magento. Но сегодня мне понадобилось создать небольшую форму для давнишнего модуля ручками. Но в конце моего кодирования меня ждало разочарование. При нажатии на кнопку submit меня перекидывало на dashboard, я никак не мог понять почему. По десять раз перепроверил контроллер, вьюшку и настройки блока в layout xml, но все тщетно.  Я догадывался, что это связано с параметром key в урле, но я не понял как его пристроить к форме. Вообщем через пол часа я не выдержал и пошел смотреть, что для этого делает modulecreator . А он оказывается просто добавляет особое поле с ключем.  Вот это поле

<input name=”form_key” type=”hidden” value=”<?php echo Mage::getSingleton(‘core/session’)->getFormKey() ?>” />

Вот и все, проблема решена. Если нет – обсуждаем дальше …


Ошибка индексации в magento

Magento, Баги, глюки, ошибки, недочеты, Программирование

Tagged Under : , , , ,

При обновлении интернет магазина 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

Magento, Программирование

Tagged Under :

Дело было так.

Нужно было заказчику обновить его магазин на magento с версии 1.4.1.1 до версии 1.6.0 , но вся загвоздка была в том, что этот магазин до нас уже пытались обновить, и на версии 1.5.1 скорее всего произошла какая-то ошибка и дальше дело не пошло. Магазин работал частично, причем дампа свежего не было.

Что тут скажешь :)

Первым делом я попытался обычным способом через magento connect и таки обновил до 1.4.2 , но ошибки не ушли. Скорее всего от недообновленной версии 1.5 остались файлы которые выдавали ошибки то там то здесь.

Например: Читать дальше »


Как собрать модуль Magento в zip архив??? Очень просто!

Magento, Мои шедевры, Программирование

Tagged Under : , ,

Делая модули для Magento? столкнулся с такой проблемой. После того как создал каркас модуля с помощью ModuleCreator. Читать дальше »