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

[quote name=‘pushkarskiy’ timestamp=‘1437922155’ post=‘224374’]

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

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

[/quote]



Это два разных типа.


  1. Валидация полей идёт через микроформаты ( cm-requared cm-email )

    http://docs.cs-cart…croformats.html


  2. А ошибка которая снизу появляется “Введите email или телефон”, это самопис от модуля обратный звонок и она не связана с ядровой валидацией полей.



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

Про валидацию понял, оставлю на потом, может что созреет.

День добрый!



Возникла небольшая проблема.



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





[color=#000000]Uncaught TypeError: undefined is not a function[/color]



[color=#000000]Если обновить страницу после ошибки отображается нужный шаг.[/color]





[color=#000000]Что это и как это исправить?[/color]

[color=#000000]Потыкать сайт можно вот тут правда еще не везде верстка готова, так что не плеваться. Так же не проч мнения профессионалов. [/color]



ЗЫ: Подскажите, а где то есть инфа какова должна быть структура модуля при установке например из архива? То есть у нас есть несколько папок с названием модуля, как их засунуть в архив что бы не переносить каждую папку по отдельности?

[quote name=‘pushkarskiy’ timestamp=‘1438059110’ post=‘224513’]

День добрый!



Возникла небольшая проблема.



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





[color=#000000]Uncaught TypeError: undefined is not a function[/color]



[color=#000000]Если обновить страницу после ошибки отображается нужный шаг.[/color]





[color=#000000]Что это и как это исправить?[/color]

[color=#000000]Потыкать сайт можно вот тут правда еще не везде верстка готова, так что не плеваться. Так же не проч мнения профессионалов. [/color]



ЗЫ: Подскажите, а где то есть инфа какова должна быть структура модуля при установке например из архива? То есть у нас есть несколько папок с названием модуля, как их засунуть в архив что бы не переносить каждую папку по отдельности?

[/quote]



Uncaught TypeError: undefined is not a function



Есть JS ошибка , выключите режим разработчика константа DEVELOPMENT



Архив с модулем = все файлы и папки с сохранением структуры.



Шаблоны должны быть в папке /var/theme_repository



Вот это видео.

День добрый ввожу промо код при оформлении заказа если промо код не верный то внизу появляется повтор формы.



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

[quote name=‘pushkarskiy’ timestamp=‘1438137242’ post=‘224677’]

День добрый ввожу промо код при оформлении заказа если промо код не верный то внизу появляется повтор формы.



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

[/quote]



В стандартной функциональности не воспроизвелось, попробуйте воспроизвести на demo.cs-cart.ru и дать мне ссылку, может настройки какие или ссылку на ваш сайт.



Возможно вёрстка где то битая, так как Ajax обновляет блоки вида:


[CODE]




[/CODE]

Все элементы обязательные.

День добрый!



Делаю карточку товара, простите за вспыльчивость но пара бы прибраться во фронтенд части, куда не взгляни одни изврещения, кучи куч, непонятного кода берущегося из миллионов других шаблонов. Код в шаблонах абсолютно не читаем, никакого форматирования везде все по разному. Миллионы непонятных id, и миллионы непонятных комментарий типа


[CODE]


[/CODE]

для чего это вообще? Для чего там update и id?



В общем провозился около 2 часов в надежде приукрасить карточку товара (страницу детального описания товара), так и не понял почему я создаю блок


[CODE]


{assign var="old_price" value="old_price_`$obj_id`"}

[/CODE]

А после генерации шаблона, созданный мной блок тупо оказывается пустым а то что содержалось в объекте old_price
появляется вообще в другом месте. Я конечно понимаю что это возможно когда не соблюдается семантика, но почему тут не так?

[CODE]



Вы экономите: 90 Р (38%)

[/CODE]

В общем в каком массиве хранится данные о текущем товаре, и где почитать про то какие id, классы, name и тому подобное обязательно нужны что бы работало добавление в корзину, возможность отложить товар и тому подобное?

В общем хотел перенести вот это и причесать атрибуты вот так

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



Как быть в чем проблема?



А если нажать кнопку изменить в первом шаге то можно получить бесконечную загрузку и мертвый сайт.

[quote]Делаю карточку товара, простите за вспыльчивость но пара бы прибраться во фронтенд части, куда не взгляни одни изврещения, кучи куч, непонятного кода берущегося из миллионов других шаблонов. Код в шаблонах абсолютно не читаем, никакого форматирования везде все по разному. Миллионы непонятных id, и миллионы непонятных комментарий типа [/quote]



Всё нужно и всё правильно. id используется для обновления страницы Ajax ом .



Смотрите видео “Как работает Ajax”



http://www.youtube.com/watch?v=zwPI_sSB5NM&list=PL4okpC0OV7TTa1iFmcPTL-outH4wEMJQW&index=21


[quote name='pushkarskiy' timestamp='1438180933' post='224783']

В общем в каком массиве хранится данные о текущем товаре,

[/quote]



http://www.youtube.com/watch?v=yo9GFLWFxoU&list=PL4okpC0OV7TQmBjqBe6_PXM_S2xRDVrKa&index=18


[quote name='pushkarskiy' timestamp='1438180933' post='224783']

и где почитать про то какие id, классы, name и тому подобное обязательно нужны что бы работало добавление в корзину, возможность отложить товар и тому подобное?

[/quote]



Видео про Ajax и документация по микроформатам:

http://docs.cs-cart.com/4.3.x/core/front-end/microformats.html

А зачем вы это делаете через js? я про перемещение элементов.

[quote name='z3r0' timestamp='1438442478' post='225264']

А зачем вы это делаете через js? я про перемещение элементов.

[/quote]



Малость Вас не понял, я не делаю перемещения объектов через js, я просто писал что довольно много элементов генерятся для того, что бы создать например скидку или старую цену.



Завтра займусь карточкой товаров.

Кажется где то было видео как создать карточку товаров с нуля или я ошибаюсь?

[quote name='dbazhenov' timestamp='1438149603' post='224689']

В стандартной функциональности не воспроизвелось, попробуйте воспроизвести на demo.cs-cart.ru и дать мне ссылку, может настройки какие или ссылку на ваш сайт.



Возможно вёрстка где то битая, так как Ajax обновляет блоки вида:


[CODE]




[/CODE]

Все элементы обязательные.
[/quote]

Понял гляну видео про ajax, и как обновляются блоки.

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

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

$schema['banners']['templates']['addons/lady_zlata/blocks/banners/zlata_carousel.tpl'] => array(
        'settings' => array (
                'navigation' => array (
                        'type' => 'selectbox',
                        'values' => array (
                                'N' => 'none',
                                'D' => 'dots',
                                'P' => 'pages',
                                'A' => 'arrows',
                                'AD' => 'arrows and dots'
                        ),
                        'default_value' => 'D'
                ),
                'delay' => array (
                        'type' => 'input',
                        'default_value' => '3'
                ),
        )
);
Таким образом, вы не перетираете старые данные, а добавляете новую ячейку в массив.

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

У модуля Banners - 'templates' => array () Поэтому эта конструкция добавления шаблона работает, только наверно

$schema['banners']['templates']['addons/lady_zlata/blocks/banners/zlata_carousel.tpl'] => array

нужно заменить "=>" на "="

С добавлением шаблона к блоку Товары эта схема не работает. Вот оригинал определения шаблонов для блока products

'templates' => 'blocks/products'

В мануале Создание нового шаблона для блока приведен пример

<?php

$schema[‘my_account’][‘templates’][‘addons/my_changes/blocks/track_orders.tpl’] = array();

return $schema;

Но эта конструкция не работает, выдает ошибку приведения типов - ['templates'] у нас строка, а мы пытаемся использовать его как массив.

У меня вопрос - как добавить к блоку товара новый шаблон вывода или дополнительную директорию с несколькими кастомными шаблонами?

Если это ваш новый блок, вы можете добавить шаблоны так:

<?php

$schema[‘my_account’][‘templates’] = array(
‘addons/my_changes/blocks/track_orders.tpl’ => array(),
‘addons/my_changes/blocks/какой-то еще шаблон.tpl’ => array(),
);

return $schema;

Или как было раньше, с одним шаблоном, но создать для него массив

<?php

$schema[‘my_account’][‘templates’] = array();

$schema[‘my_account’][‘templates’][‘addons/my_changes/blocks/track_orders.tpl’] = array();

return $schema;

Или как было раньше, с одним шаблоном, но создать для него массив

<?php

$schema[‘my_account’][‘templates’] = array();

$schema[‘my_account’][‘templates’][‘addons/my_changes/blocks/track_orders.tpl’] = array();

return $schema;

Да, нужно именно добавить в блок новый шаблон, а еще лучше несколько шаблонов. Но по Вашему примеру ['templates'] перезаписывается. С my_account тоже не совсем хорошо объяснять, там тоже изначально тип array. Проблема с добавлением шаблона для блока товаров products.

$schema['products']['templates'] = array();

$schema[‘products’][‘templates’][‘addons/my_changes/blocks/list_templates/products.tpl’] = array(

‘settings’ => array (
‘dropdown_second_level_elements’ => array (
‘type’ => ‘input’,
‘default_value’ => ‘12’
),
‘dropdown_third_level_elements’ => array (
‘type’ => ‘input’,
‘default_value’ => ‘6’
),
),
‘fillings’ => array(‘full_tree_cat’, ‘dynamic_tree_cat’),
‘params’ => array (
‘plain’ => false,
‘group_by_level’ => true,
‘max_nesting_level’ => 3,
‘request’ => array (
‘active_category_id’ => ‘%CATEGORY_ID%’,
),
)
);
return $schema;

Такая схема перезаписывает размещение стандартных шаблонов

'templates' => 'blocks/products'

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

'addons/my_changes/blocks/list_templates'
Как оставить стандартные шаблоны и добавить свои которые в папке модуля?

Создайте папку

addons/my_changes/blocks/products

В ней создайте необходимые шаблоны, в которых будете подключать файлы из list_templates

Т.е. их контент будет состоять из одного include

{include file="blocks/list_templates/нужный_шаблон.tpl"}

В этом случае они автоматом подсасываться будут, нет необходимости менять схему

Создайте папку

addons/my_changes/blocks/products

В ней создайте необходимые шаблоны, в которых будете подключать файлы из list_templates

Т.е. их контент будет состоять из одного include

{include file="blocks/list_templates/нужный_шаблон.tpl"}

В этом случае они автоматом подсасываться будут, нет необходимости менять схему

Да, но тогда админ в макетах не сможет менять настройки блока, включать/отключать его и т.д.

Да, но тогда админ в макетах не сможет менять настройки блока, включать/отключать его и т.д.

Настройки через templates.post.php сделайте

Да, но тогда админ в макетах не сможет менять настройки блока, включать/отключать его и т.д.

В моем случае хватило в app/addons/my_template/schemas/block_manager/templates.post.php

<?php

$schema[‘addons/my_template/blocks/categories/category_catalog_all.tpl’] = array (
‘params’ => array (
‘plain’ => ‘’,
‘request’ => array (
‘active_category_id’ => ‘%CATEGORY_ID%’,
),
),
‘fillings’ => array(‘full_tree_cat’, ‘dynamic_tree_cat’)
);

$schema[‘addons/my_template/blocks/categories/category_home_light.tpl’] = array (
‘params’ => array (
‘get_images’ => true
),
‘settings’ => array(
‘number_of_columns’ => array (
‘type’ => ‘input’,
‘default_value’ => 2
)
),
);

$schema[‘addons/my_template/blocks/products/products_multicolumns.tpl’] = array (
‘bulk_modifier’ => array (
‘fn_gather_additional_products_data’ => array (
‘products’ => ‘#this’,
‘params’ => array (
‘get_icon’ => true,
‘get_detailed’ => true,
‘get_options’ => true,
‘get_additional’ => true,
),
),
),
);

return $schema;

Настройки я местами убиваю на корню, потому как знаю что шаблон еще не скоро будет переделываться и не считаю нужным делать настройки для миллионов вариантов, ибо на стадии запуска верстать все это и еще понимать что дизайнер это не отрисовал, да отрисовал не так, в сроки 1-2 месяца с запуском магазина на продекшен не реально.

Имхо: Люди его парю лет писали, а мы тут переделать за 2 месяца=)

Если настройки делать, то только для какого то нужного модуля, и так то вырезав 80% осталось 250 tpl =), а это еще 50% работы сделано=)