Posting in the Magento forums has been disabled pending the implementation of a new and improved forum solution which should better serve the community.

For new questions please post at magento.stackexchange.com, the community-run support site for the Magento community. We will be providing updates on the new forum solution soon. For questions or concerns please email community@magento.com.

Magento Forum

Как переопределять стандартные модули ? 
 
Dzurillo
Jr. Member
 
Total Posts:  28
Joined:  2013-03-11
 

Здравствуйте всем!

Подскажите новичку, как правильно поступать в таком случае. Допустим, меня не устраивает функционал родного модуля и я хочу его расширить/переписать (именно функционал, т.е. просто правкой шаблонов не получится сделать). Каким образом мне лучше всего поступить ? На ум прихоядт два варианта - отредактировать core-файлы, либо скопировать их в local и уже там отредактировать (что, по-моему, одно и тоже - при выходе новой версии придется мержить файлы вручную). Одним словом, как правильно переопределять стандартные модули ?

Спасибо

 
Magento Community Magento Community
Magento Community
Magento Community
 
niro
Mentor
 
Avatar
Total Posts:  1609
Joined:  2009-03-04
Latvia, Riga
 

Зависит от ситауции. Иногда легче и быстрее переписать один файл в locale, но лучше конечно писать отдельный модуль, расширяющий функционал существующего. Переписываете только часть функций и в любой момент можете отключить.

 
Magento Community Magento Community
Magento Community
Magento Community
 
Dzurillo
Jr. Member
 
Total Posts:  28
Joined:  2013-03-11
 

Здравствуйте!

Вы не могли бы на примере ракссказать что мне примерно нужно сделать ?
У меня задача такая - необходимо сделать скидку от цены в зависимости от кратности коробкам (например, в коробоке 10 шт, тогда при покупке 10 шт, 20 шт и т.д. покупателю давало 3% скидки, т.е. когда кол-во кратно кол-ву в коробке). Причем, это еще должно быть заваязано на группу клиента - чтобы срабатывало только для обычных клиентов из группы GENERAL. Стандартного функционала, как я понял, нет (кстати, я также не нашел такого понятия, как минимальная партия - когда в корзину дает положить только кратно мин.партии - это тоже самостоятельно нужно реализовывать?)
Дальше, мне нужно найти стандартный модуль, где в модели происходит вычисление цены товара в корзине, правильно ?
Затем, скопировать его в local, отредактировать, а родной модуль отключить ? Или создать свой класс, унаследовав от родного и переопределить некоторые методы? В таком случае родной модуль нужно отключать или нет ?

Спасибо за помощь!

 
Magento Community Magento Community
Magento Community
Magento Community
 
niro
Mentor
 
Avatar
Total Posts:  1609
Joined:  2009-03-04
Latvia, Riga
 

У товаров есть атрибуты “Enable Qty Increments” и “Qty Increments” на закладке склада. Посмотрите как они работают.

Скидки лучше реализовывать в модулях Mage_Rule, Mage_CatalogRule, Mage_SalesRule. В вашем случае это скорее всего Mage_SalesRule. При расширении функционала стандартных модулей вы только добавляете или изменяете функционал, потому стандартные отключать не надо.

P.S. Вы выбрали не самый простой функционал для обучения smile

 
Magento Community Magento Community
Magento Community
Magento Community
Magento Community
Magento Community
Back to top