Pull to refresh
36
0
Send message
На самом деле этот топик показывает как создать обычный модуль для Мадженто. В итоге мы имеем галочку в чекауте (!), используя только документированные возможности, используя идеологию Мадженто. Без переписывания ядреных файлов и прочих хаков.

Что это, как не хорошая расширяемость?
Ну, архитектура не так проста, плюс там используются разные шаблоны проектирования, что весьма увеличивает количество классов и сложность понимания их работы и взаимодействия.

Взамен получаем хорошую расширябельность :)
… это тупо распространяется вообще на все <input>…

факинг комент едитор, сколько лет хабру, а слабо сделать автоматическую замену «недопустимых» символов ентитями? :(
"<script type=«text/javascript»>payment.init();</script> Не разбирался зачем он нужен, но в данном случае....."
категорически не принимаю такой подход при расширении (несомненно качественного, хотя бы с точки зрения применения в нем классического ООП) продукта

Да мне тоже не нравится… Просто я так подумал, это чекаут, а это моя галочка, к чекауту никакого отношения не имеющая. Я немного посмотрел на код, и мне показалось, он делает что-то с чек-боксами в зависимости от возможности выбора способа оплаты, плюс, что мне очень не понравилось, это тупо распространяется вообще на все. Поэтому я решил что активировать галочку своим js будет проще. А, кстати, какая альтернатива? Зарываться совсем вглубь, что бы, возможно, найти способ не дисаблить мою галочку? Мне кажется это вообще невозможно кроме своего js… Хочу ошибаться в этом вопросе :)

что касается маженты, я бы с уверенностью полез внутрь этого payment.init(), чтобы найти болле корректный, с точки зрения маженты, способ енаблить мой чекбокс
глядишь, и не пришлось бы потом тупо лезть в $_POST, в спокойно принял бы значение чекбокса в $data

Там все непросто. Тот метод, который я переопределяю (savePaymnt) получает только одно значение — выбранный способ оплаты. Да, код, который вызывает savePayment, имеет доступ к реквесту и параметрам, но я не увидел возможности переопределить его.

race1, вас кто-то в спину гнал скорее это всё забодяжить, или вы хотели сделать расширяемый модуль для расширяемой маженты? а если вас завтра попросят в чекауте добавить дропдаун какой-нить? всё по-прежнему будете отрубать реврайты сторонних модулей? :)

О, копание в Мадженто это то еще удовольствие. Поэтому если я нахожу решение, явных минусов которого не вижу, предпочитаю не копать дальше — это может затянуться еще на пол дня отладки маджентовских потрохов :) Вот что действительно хотелось бы поправить — отказаться от реврайта, возможного только для одного модуля.

(кстати, там проблема не реврайтах конфига, а в экстендах для классов — сделайте свой
class Mage_NewsletterSubscribe_Model_Onepage extends Desitex_Checkoutnewsletter_Model_Onepage
а он пусть останется
class Desitex_Checkoutnewsletter_Model_Onepage extends Mage_Checkout_Model_Type_Onepage
(могу ошибаться в именах классов, надеюсь идею уловили)

Эм, не уловил… Предлагаете мне в своем модуле наследоваться от класса из другого модуля? :) Вот это уж очень плохое решение…
Если немного разобраться, и попрактиковаться, это всё выглядит достаточно очевидно, просто, понятно. Сейчас, например, создать модуль — пол минуты, раньше — пол дня :)

Плюс её в том, что её можно расширять в самых неожиданных местах :) Вот можно разве где-то ещё так просто, и без модификации ядрёных файлов, добавить новую галку в процесс чекаута, весьма «интимный» для интернет-магазина? Это же прелестно! :)

Раньше работал с ZenCart, вот это жесть, хорошо что больше не надо с ней сталкиваться. Там сама архитектура по-моему гораздо хуже чем Маджентовская.
Спасибо :)

Ага, я постоянно думал в фоне, что копировать файлы по отдельности было бы не так плохо :) Но там встаёт проблема синхронизации оригинальной папки и папки dropbox'а.

С ftp как-нибудь потом разберусь, но мне очень понравилось как просто и быстро решилась проблема заливки данных на dropbox, что на эту часть сразу перестал обращать внимание.
Упс, глупость сказал про ip…
Ога :) Но если это будет свой локальный Jabber-сервак, там можно настроить ограничение на доступ по IP. Ещё можно использовать анонимный логин.
Он самый. "… мне стало интересно — а как оно работает и как такое можно сделать самому, без готовых приложений"
Ну подобные штуки есть, готовые приложения, как в том посте на который я давал ссылку вначале. А здесь я специально разбирался как это делается внтури.
Хорошо, в следующий раз заскучаю — научу скрипт архивировать :)
Ага, тоже так думал… Но внешний архиватор по-проще будет :) Ты ему список файлов, он тебе архив. Можно взять какой-нибудь бесплатный, немного поменяв ключи в скрипте.
Ммм… Этот расцветильщик сделал неправильную расцветку :(
Поместил, спасибо :)
12 ...
8

Information

Rating
Does not participate
Location
Иркутская обл., Россия
Date of birth
Registered
Activity