Как Сделать Не Стандартный Шаблон С Нуля?

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

С поиском понятно, как сразу не подумал что можно перенести, думал есть какая то особая магия.



По поводу схем тоже вроде понятно.



Но возникли сложности в плане реализации новых товаров в виде скроллера.



Схему подключил.



Хотел сделать как в products_scroller_advanced.tpl из русской темы, но возникли сложности с тем что некоторые smarty переменные мне не понятно, и не понятно откуда они берутся.



например что значит вот эта запись


<br /> {assign var="form_open" value="form_open_`$obj_id`"}<br /> {$smarty.capture.$form_open nofilter}<br /> ------------------------------------------------------------------------<br /> {include file="views/products/components/product_icon.tpl" product=$product show_gallery=true}<br /> ------------------------------------------------------------------------<br /> <br /> {script src="js/tygh/product_image_gallery.js"}<br /> <br />



$smarty.capture - я так понимаю это объект, или массив

При подключении какого то tpl в него передаются переменные?



Скприпт product_image_gallery.js для листания всех картинок одного товара внутри плитки товара?



Вот например


<br /> {assign var="price" value="price_`$obj_id`"}<br /> {$smarty.capture.$price nofilter}<br />





Получает объект в виде html


<br /> <span class="cm-reload-23000256 ty-price-update" id="price_update_23000256"><br /> <input type="hidden" name="appearance[show_price_values]" value="1"><br /> <input type="hidden" name="appearance[show_price]" value="1"><br /> <br /> <span class="ty-price" id="line_discounted_price_23000256"><span id="sec_discounted_price_23000256" class="ty-price-num">1&nbsp;100.00</span>&nbsp;<span class="ty-price-num"><span class="ty-rub">Р</span></span></span><br /> <br /> <!--price_update_23000256--></span><br />



Для чего все это в плитке товара, нельзя ли как то только цену выдернуть ну и знак валюты ?

[quote name='dbazhenov' timestamp='1437552952' post='223875']

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

[/quote]



За видео огромное спасибо.



Видео очень понятные, рассказывается то что нужно, только иногда все же возникают вопросы.

Подскажите а как сделать что бы в модуле банеров можно было добавлять не только картинку но и текст, желательно html



вот такого вида


[CODE]


Акция


Закажи на сумму
свыше3 000рублей и


получи
подарочную
упаковку в подарок

Узнать больше


Акция


В связи с открытием
интернет магазина "Леди Злата"


Первым 500
покупателям
скидка - 5%

Узнать больше

[/CODE]

У каждого текста есть вой класс

[quote name='pushkarskiy' timestamp='1437640658' post='224053']

Подскажите а как сделать что бы в модуле банеров можно было добавлять не только картинку но и текст, желательно html



вот такого вида


[CODE]


Акция


Закажи на сумму
свыше3 000рублей и


получи
подарочную
упаковку в подарок

Узнать больше


Акция


В связи с открытием
интернет магазина "Леди Злата"


Первым 500
покупателям
скидка - 5%

Узнать больше

[/CODE]

У каждого текста есть вой класс
[/quote]

Вообще, в модуле Баннеры, есть два типа баннеров, картинка или текст (HTML) .

Думаю можно совместить.

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

Как добавлять и выводить новые поля с помощью модулей, можно посмотреть в видео инструкциях, однако возможно Вам будет достаточно и обычного HTML баннера.

Да вроде разобрался сделал свой шаблон для банера.

[quote name='pushkarskiy' timestamp='1437645559' post='224069']

Да вроде разобрался сделал свой шаблон для банера.

[/quote]



Круть

Немного не понятно со схемами, я создал свою схему, blocks.post.php



В ней повторил структуру что в схеме банера, добавил туда путь к шаблону и настройки. А можно ли как то расширять схему а не копировать её полностью?





Вот что у меня получилось

<br /> $schema[&#39;banners&#39;] = array (<br /> &#39;content&#39; => array (<br /> &#39;items&#39; => array (<br /> &#39;remove_indent&#39; => true,<br /> &#39;hide_label&#39; => true,<br /> &#39;type&#39; => &#39;enum&#39;,<br /> &#39;object&#39; => &#39;banners&#39;,<br /> &#39;items_function&#39; => &#39;fn_get_banners&#39;,<br /> &#39;fillings&#39; => array (<br /> &#39;manually&#39; => array (<br /> &#39;picker&#39; => &#39;addons/banners/pickers/banners/picker.tpl&#39;,<br /> &#39;picker_params&#39; => array (<br /> &#39;type&#39; => &#39;links&#39;,<br /> ),<br /> &#39;params&#39; => array (<br /> &#39;sort_by&#39; => &#39;position&#39;,<br /> &#39;sort_order&#39; => &#39;asc&#39;<br /> )<br /> ),<br /> &#39;newest&#39; => array (<br /> &#39;params&#39; => array (<br /> &#39;sort_by&#39; => &#39;timestamp&#39;,<br /> &#39;sort_order&#39; => &#39;desc&#39;,<br /> &#39;request&#39; => array (<br /> &#39;cid&#39; => &#39;%CATEGORY_ID%&#39;<br /> )<br /> )<br /> ),<br /> ),<br /> ),<br /> ),<br /> &#39;templates&#39; => array (<br /> &#39;addons/banners/blocks/original.tpl&#39; => array(),<br /> &#39;addons/banners/blocks/carousel.tpl&#39; => array(<br /> &#39;settings&#39; => array (<br /> &#39;navigation&#39; => array (<br /> &#39;type&#39; => &#39;selectbox&#39;,<br /> &#39;values&#39; => array (<br /> &#39;N&#39; => &#39;none&#39;,<br /> &#39;D&#39; => &#39;dots&#39;,<br /> &#39;P&#39; => &#39;pages&#39;,<br /> &#39;A&#39; => &#39;arrows&#39;<br /> ),<br /> &#39;default_value&#39; => &#39;D&#39;<br /> ),<br /> &#39;delay&#39; => array (<br /> &#39;type&#39; => &#39;input&#39;,<br /> &#39;default_value&#39; => &#39;3&#39;<br /> ),<br /> ),<br /> ),<br /> &#39;addons/lady_zlata/blocks/banners/zlata_carousel.tpl&#39; => array(<br /> &#39;settings&#39; => array (<br /> &#39;navigation&#39; => array (<br /> &#39;type&#39; => &#39;selectbox&#39;,<br /> &#39;values&#39; => array (<br /> &#39;N&#39; => &#39;none&#39;,<br /> &#39;D&#39; => &#39;dots&#39;,<br /> &#39;P&#39; => &#39;pages&#39;,<br /> &#39;A&#39; => &#39;arrows&#39;,<br /> &#39;AD&#39; => &#39;arrows and dots&#39;<br /> ),<br /> &#39;default_value&#39; => &#39;D&#39;<br /> ),<br /> &#39;delay&#39; => array (<br /> &#39;type&#39; => &#39;input&#39;,<br /> &#39;default_value&#39; => &#39;3&#39;<br /> ),<br /> ),<br /> )<br /> ),<br /> &#39;wrappers&#39; => &#39;blocks/wrappers&#39;,<br /> &#39;cache&#39; => array(<br /> &#39;update_handlers&#39; => array(<br /> &#39;banners&#39;, &#39;banner_descriptions&#39;, &#39;banner_images&#39;<br /> )<br /> )<br /> );<br />



если оставить вот так


<br /> $schema[&#39;banners&#39;] = array (<br /> <br /> &#39;templates&#39; => array (<br /> &#39;addons/lady_zlata/blocks/banners/zlata_carousel.tpl&#39; => array(<br /> &#39;settings&#39; => array (<br /> &#39;navigation&#39; => array (<br /> &#39;type&#39; => &#39;selectbox&#39;,<br /> &#39;values&#39; => array (<br /> &#39;N&#39; => &#39;none&#39;,<br /> &#39;D&#39; => &#39;dots&#39;,<br /> &#39;P&#39; => &#39;pages&#39;,<br /> &#39;A&#39; => &#39;arrows&#39;,<br /> &#39;AD&#39; => &#39;arrows and dots&#39;<br /> ),<br /> &#39;default_value&#39; => &#39;D&#39;<br /> ),<br /> &#39;delay&#39; => array (<br /> &#39;type&#39; => &#39;input&#39;,<br /> &#39;default_value&#39; => &#39;3&#39;<br /> ),<br /> ),<br /> )<br /> )<br /> );<br />



А если например оставить только, остается только мой шаблон и естественно перестает работать.


<br /> $schema[&#39;banners&#39;] = array (<br /> <br /> &#39;templates&#39; => array (<br /> &#39;addons/lady_zlata/blocks/banners/zlata_carousel.tpl&#39; => array(<br /> &#39;settings&#39; => array (<br /> &#39;navigation&#39; => array (<br /> &#39;type&#39; => &#39;selectbox&#39;,<br /> &#39;values&#39; => array (<br /> &#39;N&#39; => &#39;none&#39;,<br /> &#39;D&#39; => &#39;dots&#39;,<br /> &#39;P&#39; => &#39;pages&#39;,<br /> &#39;A&#39; => &#39;arrows&#39;,<br /> &#39;AD&#39; => &#39;arrows and dots&#39;<br /> ),<br /> &#39;default_value&#39; => &#39;D&#39;<br /> ),<br /> &#39;delay&#39; => array (<br /> &#39;type&#39; => &#39;input&#39;,<br /> &#39;default_value&#39; => &#39;3&#39;<br /> ),<br /> ),<br /> )<br /> )<br /> );<br />



Может я что то не то делаю?

[quote name='pushkarskiy' timestamp='1437646306' post='224073']

Немного не понятно со схемами, я создал свою схему, blocks.post.php



Может я что то не то делаю?

[/quote]



Да, не так делаете, эта работа с массивами, вам нужно добавить данные в массив, не нужно полностью перезаписывать banners .



Всё что нужно сделать, это в своём файле:


<br /> $schema[&#39;banners&#39;][&#39;templates&#39;][&#39;addons/lady_zlata/blocks/banners/zlata_carousel.tpl&#39;] => array(<br /> &#39;settings&#39; => array (<br /> &#39;navigation&#39; => array (<br /> &#39;type&#39; => &#39;selectbox&#39;,<br /> &#39;values&#39; => array (<br /> &#39;N&#39; => &#39;none&#39;,<br /> &#39;D&#39; => &#39;dots&#39;,<br /> &#39;P&#39; => &#39;pages&#39;,<br /> &#39;A&#39; => &#39;arrows&#39;,<br /> &#39;AD&#39; => &#39;arrows and dots&#39;<br /> ),<br /> &#39;default_value&#39; => &#39;D&#39;<br /> ),<br /> &#39;delay&#39; => array (<br /> &#39;type&#39; => &#39;input&#39;,<br /> &#39;default_value&#39; => &#39;3&#39;<br /> ),<br /> )<br /> );



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


<br /> $array = (<br /> &#39;a&#39; => 1,<br /> &#39;b&#39; => 2<br /> );<br /> // Добавим новую в конец<br /> $array[&#39;c&#39;] = 3;<br />

А все понял, спасибо.



Еще такой вопрос например я делаю новый шаблон блока blocks/products/products_scroller.tpl



Где мне найти для него текущую схему которая в него пуляет данные?

[quote name='pushkarskiy' timestamp='1437654088' post='224092']

Где мне найти для него текущую схему которая в него пуляет данные?

[/quote]



В тех же схемах:

  1. /app/schemas/block_manager/blocks.php


<br /> &#39;products&#39; => array(<br /> &#39;content&#39; => array(<br /> &#39;items&#39; => array(<br /> &#39;type&#39; => &#39;enum&#39;,<br /> &#39;object&#39; => &#39;products&#39;,<br /> &#39;items_function&#39; => &#39;fn_get_products&#39;,<br />



2. /app/schemas/block_manager/templates.php


<br /> <br /> &#39;blocks/products/products_scroller.tpl&#39; => array (<br /> <br /> &#39;bulk_modifier&#39; => array (<br /> &#39;fn_gather_additional_products_data&#39; => array (<br /> &#39;products&#39; => &#39;#this&#39;,<br /> &#39;params&#39; => array (<br /> &#39;get_icon&#39; => true,<br /> &#39;get_detailed&#39; => true,<br /> &#39;get_options&#39; => true,<br /> ),<br /> ),<br /> ),

Спасибо, чет поиском я такое не находил.



Подскажите такую штуку, как в категории в списке товаров в виде мульти колоночном отобразить кнопки купить, сравнить, отложить.



Например когда делаю мульти колоночный вид для хитов продаж там есть кнопочка показывать кнопки покупки.



А откуда главное содержимое берет настройки для плиточного вида?



должно быть что то типа вот этого



страница категории настроена вот так





И еще каким образом можно выводить вот такие штуки в плитках товаров, интересует именно хит продаж, и новинка?

[quote name=‘pushkarskiy’ timestamp=‘1437726666’ post=‘224163’]

Спасибо, чет поиском я такое не находил.



Подскажите такую штуку, как в категории в списке товаров в виде мульти колоночном отобразить кнопки купить, сравнить, отложить.



[/quote]



Я думал Вы уже разобрались и сами в состоянии найти нужный шаблон, ну ладно.



Вот здесь можно почитать:

http://www.cs-cart.ru/docs/4.3.x/developer/solutions/catalog/show_options/index.html



Точно также можно вывести кнопку в корзину и другие.



Видео можно вот здесь посмотреть (8 видео и дальше):

http://www.youtube.com/playlist?list=PL4okpC0OV7TQmBjqBe6_PXM_S2xRDVrKa


[quote name=‘pushkarskiy’ timestamp=‘1437726666’ post=‘224163’]

[color=#282828][font=arial, verdana, tahoma, sans-serif]И еще каким образом можно выводить вот [/font][/color]такие штуки[color=#282828][font=arial, verdana, tahoma, sans-serif] в плитках товаров, интересует именно хит продаж, и новинка? [/font][/color]

[/quote]



Хуками, что хотите то и выводите :)



Можно модуль отдельный сделать (есть видео о том как добавить настройки товару) или купить на marketplace.cs-cart.com там было пару модулей лэйблов.

День добрый спасибо за информацию, видимо из-за отсутствия практических навыков возникают банально простые вопросы.



Как шаблоны создавать я вроде как научился, я просто не понял то что выводится на странице главное содержимое, в разделе категория, имеет ли какие то настройки из админки? Типа показать кнопку купить, показать кнопку купить в 1 клик?



Еще такая штука есть ли описание на какой странице и в каком шаблоне какие массивы доступны?



Иле это на уровне схем определяется и лучше смотреть там?

[quote name=‘pushkarskiy’ timestamp=‘1437879094’ post=‘224318’]

Как шаблоны создавать я вроде как научился, я просто не понял то что выводится на странице главное содержимое, в разделе категория, имеет ли какие то настройки из админки? Типа показать кнопку купить, показать кнопку купить в 1 клик?



Еще такая штука есть ли описание на какой странице и в каком шаблоне какие массивы доступны?

[/quote]



В блоке “Главное содержимое” выводится результат работы контроллера и основной шаблон страницы.



У каждого типа страницы, а тип страницы определяется параметром dispatch , есть свой шаблон в папке

/design/themes/responsive/templates/views/



Настройки зависят от типа страницы и задаются в панели администратора, например “Настройки → Внешний вид” или “Настройки → Оформление заказа”.



Посмотрите первое видео в плейлисте:

http://www.youtube.com/playlist?list=PL4okpC0OV7TTa1iFmcPTL-outH4wEMJQW



И наверно видео №8 в этом же плейлисте.

Про настройки списка в разделе настройки я знаю, я имел ввиду что то типа вот этого, сделал через override, этого достаточно.



Вот какая штука хотел хлебные крошки вынести в шаблон по умолчанию что бы они применились на всех страницах, в разделе страницы добавил секцию в неё сунул хлебные крошки, но она так нигде и не отобразилась. Подскажите то что в секции страницы в разделе макеты По умолчанию как то влияют на содержимое других страниц? Или оттуда берутся только header и footer ?

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



Но проблема в том что в 1 блоке вывод через добавление класса error, а в варианте купить в 1 клик это в виде отдельного блока


[CODE]



Пожалуйста, введите телефон или email, чтобы наш сотрудник мог связаться с вами




[/CODE]

Непонятно зачем в форме 2 разных варианта ошибок.

Я так понимаю мне надо фиксить js/addons/call_requests/call_requests.js или есть какой то другой вариант?

[quote name=‘pushkarskiy’ timestamp=‘1437901169’ post=‘224328’]

Вот какая штука хотел хлебные крошки вынести в шаблон по умолчанию что бы они применились на всех страницах, в разделе страницы добавил секцию в неё сунул хлебные крошки, но она так нигде и не отобразилась. Подскажите то что в секции страницы в разделе макеты По умолчанию как то влияют на содержимое других страниц? Или оттуда берутся только header и footer ?

[/quote]



“Страницы” и “По умолчанию” это разные макеты для разных страниц.



“По умолчанию” используется там где нет отдельной вкладки. “По умолчани” не влияет на содержимое других страниц, только подвал и шапка.

[quote name='pushkarskiy' timestamp='1437908690' post='224340']

Непонятно зачем в форме 2 разных варианта ошибок.

[/quote]



Честно говоря, не понимаю о чем речь. У нас подсвечивается каждое ошибочное поле, так как это правильно. В вашем варианте, нужно прочитать, подумать и найти нужные поля, если их больше 2 то это проблема. А если поля всего два, то зачем эти пляски. Либо я не понял о чем речь.

Суть в том что нужно перенести сообщение об ошибках в верх popup, а то как то это не красиво получается по середине формы ошибки показывать.



Вот тут вариант с добавление класса error к самому input, причем валидируется только 1 поле

Вот тут вариант с дополнительным блоком, в котором пишутся ошибки обоих полей

[quote name=‘dbazhenov’ timestamp=‘1437914021’ post=‘224351’]

“Страницы” и “По умолчанию” это разные макеты для разных страниц.



“По умолчанию” используется там где нет отдельной вкладки. “По умолчани” не влияет на содержимое других страниц, только подвал и шапка.

[/quote]



Понял