Jump to content

Лайфак: Каждому товару, категории или странице свой дизайн


Recommended Posts

Проблема:

Мне часто приходится делать разный дизайн товарам:

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

 

Решение:

Я понятия не имею, что делать в папках /view и /api, потому всегда использую стандартные возможности Симплы и шаблонов.

 

В Симпле у всех страниц есть поле мета-тега «Ключевые слова», по факту оно не нужно и поле оставляю пустым. Его и будем использовать.

 

1. Удаляем вывод этого поля в шаблоне

Строку
<meta name="keywords"    content="{$meta_keywords|escape}" />

заменяем на:
<meta name="keywords"    content="" />

 

2. Создаем шаблоны (на примере товаров) в папке /design/ваша_тема/html/:

  • product_default.tpl - для стандартного товара
  • product_promo.tpl - для своего, можно делать 2, 3, сколько угодно таких файлов

 

3. В product_default.tpl копируем наш код из product.tpl

 

4. В самом product.tpl заменяем весь код на этот:

{* Переключение шаблона
product_default.tpl - стандартный шаблон товара
product_promo.tpl - промо-шаблон
product_xxxx.tpl - любой другой шаблон
*}

{if $meta_keywords == 'Промо'}
    {include file='product_promo.tpl'}
{elseif $meta_keywords == 'xxxx'}
    {include file='product_xxxx.tpl'}
{else}
    {include file='product_default.tpl'}
 {/if}

Все, теперь в product_promo.tpl вы можете верстать любой свой дизайн, вплоть до того, что вообще сюда один сплошной ХТМЛ вставить.

 

5. Для удобства в самой админке:

  • В файле /simpla/design/html/product.tpl  заменим «Ключевые слова» на «Шаблон» (примерно 607 строка)
  • Отключим автозаполнение поля:
meta_keywords_touched = true;

заменим на:
meta_keywords_touched = false;
  • Можно удалить из импорта и экспорта заполнение поля. Или наоборот не отключайте, чтобы также управлять через импорт какому товару какой шаблон

 

6. Чтобы включить через админку новый шаблон, введите в поле «Шаблон» значение «Промо» (можете задать на шаге 4 любое значение) и сохранить.

 

Новы шаблон товара задан ваш.

 

 

Итог

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

Можно проделать для страниц блога, категорий и товаров.

 

Создавайте красивые страницы с детальным и  интересным описанием, делайте им свой дизайн,

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

Edited by Maksclub
Link to post
Share on other sites

тут ошибка

{if $meta_keywords == 1&$meta_keywords == 'Промо'}

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

 

Спасибобо большое, исправил. Ну его как-то брать нужно. Я понятия не имею о работе сайта касательно папок /view и /api ;)

Edited by Maksclub
Link to post
Share on other sites

На самом деле ваше решение - полный костыль.

Как сказали выше, проще добавить 1 поле в БД для категорий товаров, товаров или страниц, и в ProductsView.php, productView.php 

 

Могу сделать подробную инструкцию, если кому нибудь интересно.

Link to post
Share on other sites

На самом деле ваше решение - полный костыль.

Как сказали выше, проще добавить 1 поле в БД для категорий товаров, товаров или страниц, и в ProductsView.php, productView.php 

 

Могу сделать подробную инструкцию, если кому нибудь интересно.

 

Чтобы ваше решение заработало, нужно вам (программисту) написать, объяснить все, иногда заплатить.

Мое же решение — взял и сделал.

 

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

Link to post
Share on other sites

Чтобы ваше решение заработало, нужно вам (программисту) написать, объяснить все, иногда заплатить.

Мое же решение — взял и сделал.

 

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

Всегда и везде нужно объяснять, особенно в разработке. 

Люди излагают по разному и из-за недопонимания между заказчиком и исполнителем могут быть ошибки в реализации. 

Причем это касается не только программистов! 

 

Не понимаю к чему вы вообще затронули разговор о программистах и оплате работы...

Link to post
Share on other sites

Всегда и везде нужно объяснять, особенно в разработке. 

Люди излагают по разному и из-за недопонимания между заказчиком и исполнителем могут быть ошибки в реализации. 

Причем это касается не только программистов! 

 

Не понимаю к чему вы вообще затронули разговор о программистах и оплате работы...

 

Плохое, но готовое решение в рубрике «Готовое решение». Я им поделился, тк сам использую — работаю с шаблоном. БЫл проект, где делал около 20 шаблонов для лендингов, очень удобно мне было.

Edited by Maksclub
Link to post
Share on other sites

На самом деле ваше решение - полный костыль.

Как сказали выше, проще добавить 1 поле в БД для категорий товаров, товаров или страниц, и в ProductsView.php, productView.php 

 

Могу сделать подробную инструкцию, если кому нибудь интересно.

 

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

 

Такую инструкцию хорошо бы поместить в разделе

http://forum.simplacms.ru/forum/42-faq-сборник-уроков/

 

И даже надо бы несколько инструкций:

1. добавление нового поля для товаров (и тут несколько инструкций для разных типов полей - обычный инпут, текстовое поле, чекбокс). Еще интересно добавление более сложных полей, например, для новой группы связанных товаров или второй группы изображений...

2. добавление нового поля для вариантов (аналогично несколько инструкций по типу полей).

3. аналогично для других сущностей: бренды, категории, заказы...

 

Если Вы энтузиаст, то напишите хотя бы часть инструкций...

Link to post
Share on other sites

Спасибобо большое, исправил. Ну его как-то брать нужно. Я понятия не имею о работе сайта касательно папок /view и /api ;)

 

можешь так попробовать) 

http://forum.simplacms.ru/topic/11871-237-vqmod-simpacms-v15/?do=findComment&comment=92231

 

Заменишь test_field на свое

Edited by yr4ik
Link to post
Share on other sites
  • 2 weeks later...

На самом деле ваше решение - полный костыль.

Как сказали выше, проще добавить 1 поле в БД для категорий товаров, товаров или страниц, и в ProductsView.php, productView.php 

 

Могу сделать подробную инструкцию, если кому нибудь интересно.

Было бы интересно! Заранее спасибо)

Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Loading...
×
×
  • Create New...