2013-12-12 4 views
0

У меня есть короткие вопросы для экспертов magento. Я хотел бы внести изменения в ядро ​​PHP magento.Magento php ядро. Редактирование Каталог продукции

Я хочу добавить информацию о товарах, детали будут зависеть от каждого продукта, и я хочу отобразить дополнительные данные в списке каталогов, поэтому он включает в себя базу данных & PHP.

Так что мои вопросы - где это можно сделать? Я не знаком с файловой структурой magento, и мне нужна эта спешка, надеюсь, у меня будет время изучить ее структуру, но, вероятно, потребуется больше времени, чем мой срок.

Обратите внимание, что я говорю о списке продуктов администратора, а не о заказе клиента.

+0

Возможно, вам придется переопределить класс сетки продукта и добавить столбец в prepareColumns() и, возможно, добавить свою информацию в коллекцию в prepareCollection(). Более конкретная информация необходима для лучшего ответа. – russjman

+0

ОК спасибо за ответ russjman. Чтобы предоставить дополнительную информацию, я хотел бы добавить границу или цвет фона для каждой позиции продукта, цвет зависит от категории, к которой принадлежит продукт. Я искал и узнал, что лучший способ сделать это - создать собственный модуль, если уже не существует существующего модуля, который я сомневаюсь. Но, вероятно, потребуется больше времени, поэтому я решил временно изменить основной PHP-код на данный момент. Так кто-нибудь знает, какой файл php я должен изучить? –

+0

Хорошо. То, что я упомянул выше, относится к разделу администрирования. Вероятно, вы можете сделать всю эту логику в /template/catalog/product/view.phtml, если это подробная страница. Если на странице категории это будет /template/catalog/product/list.phtml. – russjman

ответ

0

Возможно, вы можете выполнить всю эту логику в /template/catalog/product/view.phtml, если это подробная страница. Если его страницей категории будет /template/catalog/product/list.phtml. В любом случае это будет одно и то же.

$categories = $product->getCategoryIds(); //this is array of category ids the product exists in 

$blueCategoryIds = array(1,2,3,4); 
$redCategoryIds = array(5,6,7,8); 

if(in_array($blueCategoryIds,$categories)){ 
    $newClass = 'blue-background'; 
} elseif (in_array($redCategoryIds,$categories)) { 
    $newClass = 'red-background'; 
} else { 
    $newClass=''; 
} 

Определить .blue-background и .red-background в файле CSS.

.red-background {background:red;} 
.blue-background {background:blue;} 

Затем используйте $ newClass в любом элементе html, к которому вы хотите применить свой фон. Вероятно, это должно быть частью пользовательского модуля, но это должно ускориться.

+0

это на странице администратора? потому что я намерен изменить только на странице администратора. спасибо –

+0

К сожалению, сетка администратора является совершенно другим животным и потребует другого решения. Возможно, это может сработать: http://stackoverflow.com/questions/13766173/magento-different-background-color-for-group-of-rows-on-backend-grid – russjman

+0

выглядит так, как им нравится, спасибо, будет проверять его. –

Смежные вопросы