Перейти к содержимому


Фото
- - - - -

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


  • Please log in to reply
10 replies to this topic

#1 Maksclub

Maksclub
  • Фрилансер
  • 1 398 сообщений
  • Дизайн, Программирование, Верстка, Заказчик, Пользователь
  • Версия CMS:2.x
  • Откуда:Москва

Posted 13.11.2016 - 13:57

Проблема:

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

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

 

Решение:

Я понятия не имею, что делать в папках /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, 13.11.2016 - 14:41.


#2 mishanya

mishanya
  • Фрилансер
  • 2 575 сообщений
  • Программирование, Верстка
  • Версия CMS:2.x
  • Откуда:Ukraine

Posted 13.11.2016 - 14:30

тут ошибка

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

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



#3 Maksclub

Maksclub
  • Фрилансер
  • 1 398 сообщений
  • Дизайн, Программирование, Верстка, Заказчик, Пользователь
  • Версия CMS:2.x
  • Откуда:Москва

Posted 13.11.2016 - 14:40

тут ошибка

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

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

 

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


Edited by Maksclub, 13.11.2016 - 14:40.


#4 ABSORBER

ABSORBER
  • Модератор
  • 508 сообщений
  • Дизайн, Программирование, Верстка
  • Версия CMS:2.x
  • Откуда:Хабаровск

Posted 13.11.2016 - 15:30

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

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

 

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



#5 Maksclub

Maksclub
  • Фрилансер
  • 1 398 сообщений
  • Дизайн, Программирование, Верстка, Заказчик, Пользователь
  • Версия CMS:2.x
  • Откуда:Москва

Posted 13.11.2016 - 15:46

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

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

 

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

 

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

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

 

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



#6 ABSORBER

ABSORBER
  • Модератор
  • 508 сообщений
  • Дизайн, Программирование, Верстка
  • Версия CMS:2.x
  • Откуда:Хабаровск

Posted 13.11.2016 - 15:53

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

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

 

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

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

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

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

 

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



#7 Maksclub

Maksclub
  • Фрилансер
  • 1 398 сообщений
  • Дизайн, Программирование, Верстка, Заказчик, Пользователь
  • Версия CMS:2.x
  • Откуда:Москва

Posted 13.11.2016 - 15:56

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

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

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

 

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

 

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


Edited by Maksclub, 13.11.2016 - 15:56.


#8 Maksclub

Maksclub
  • Фрилансер
  • 1 398 сообщений
  • Дизайн, Программирование, Верстка, Заказчик, Пользователь
  • Версия CMS:2.x
  • Откуда:Москва

Posted 13.11.2016 - 15:58

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

 

Я сравнил готовое решение и не готовое



#9 Kors

Kors
  • Фрилансер
  • 3 522 сообщений
  • Программирование
  • Версия CMS:1.x, 2.x
  • Откуда:Россия

Posted 13.11.2016 - 17:00

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

 

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


Такую инструкцию хорошо бы поместить в разделе
http://forum.simplac...сборник-уроков/

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

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

 

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



#10 yr4ik

yr4ik
  • Фрилансер
  • 932 сообщений
  • Дизайн, Программирование, Верстка
  • Версия CMS:1.x, 2.x
  • Откуда:Украина Чернигов

Posted 14.11.2016 - 18:07

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

 

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

http://forum.simplac...v15/#entry92231

 

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


Edited by yr4ik, 14.11.2016 - 18:08.


#11 Dmitry86

Dmitry86
  • Пользователь
  • 158 сообщений
  • Пользователь
  • Откуда:Мск

Posted 25.11.2016 - 19:41

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

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

 

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

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






0 user(s) are reading this topic

0 пользователей, 0 гостей, 0 скрытых