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


Фотография
- - - - -

Шаблон таблицей с скрытием пустых полей


  • Закрытая тема Тема закрыта
Сообщений в теме: 7

#1 registr

registr

Отправлено 25 September 2015 - 13:54

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

И адаптивно само собой. 

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

Второй вариант - за деньги сделать - тоже рассмаривается:) сразу в скайпе portall.com.ua

 

Сорри что в одной теме два вопроса, просто это в ту же таблицу надо будет - чтоб поставить вместо фотки значек фотоаппарата с эффектом попап - как сделать интересует?


  • 0

#2 SmetDenis

SmetDenis

Отправлено 25 September 2015 - 15:09

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

Таблица в HTML устроена так что нуждается во всех колонках и ячейках. Либо нужно использовать сложную логику с collspan и rowspan. Можете показать пример результата, который вы хотите?

И адаптивно само собой.

Наиболее простой и популярный способ создания адаптивной таблицы можно найти тут - https://css-tricks.c...ve-data-tables/

Сорри что в одной теме два вопроса, просто это в ту же таблицу надо будет - чтоб поставить вместо фотки значек фотоаппарата с эффектом попап - как сделать интересует?


Это так же дается через CSS и прозрачную иконку.
Хороший пример реализации есть в UIkit - http://getuikit.com/docs/overlay.html(icon)
  • 0
JBZoo v4.0 и новый чудный мир Open Source GPL
Отключайте проверку лицензий как можно скорее!



— Есть два типа людей: Кто еще не делает бекапы и кто уже делает бекапы.


#3 registr

registr

Отправлено 25 September 2015 - 17:45

пример - скрин с старого сайта с моими примечаниями, надеюсь понятно нарисовал:
http://view.xscreens...de67eb0f9133de6

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

Уже подумываю сделать проще: вставлять всю таблицу в поле HTML и не париться, как считаете, такое решение имеет право на жизнь, если товары будут меняться редко:)?


  • 0

#4 SmetDenis

SmetDenis

Отправлено 28 September 2015 - 12:40

пример - скрин с старого сайта с моими примечаниями, надеюсь понятно нарисовал:

Спасибо. Со скрншотом стало нагляднее.

Вижу что у товаров должна быть предварительная группировка (наполнение), так чтобы один тип материалов принадлежал одной категории.

Далее делаем вывод шаблона subcatery_item внутри подкатегорий. Шаблон будет выводить одну строчку (tr) таблицы.
Чтобы вывести шапку таблицы необходимо добавить условие в шаблон subcategory где менять вывод перед элементами в зависимости от caretgory id или alias.

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

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

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


Уже подумываю сделать проще: вставлять всю таблицу в поле HTML и не париться, как считаете, такое решение имеет право на жизнь, если товары будут меняться редко?


Если данные и правда обновляются так редко, то возможно это будет проще.
  • 0
JBZoo v4.0 и новый чудный мир Open Source GPL
Отключайте проверку лицензий как можно скорее!



— Есть два типа людей: Кто еще не делает бекапы и кто уже делает бекапы.


#5 registr

registr

Отправлено 05 October 2015 - 23:20

возникла мысль сделать из шаблона таблицы как на старом демо-сайте: http://view.xscreens...69d1d78d22dc6cc

И потому вопрос: таблица настраивается в файле media\zoo\applications\jbuniversal\templates\catalog\renderer\item_columns\database.php

Можно ли настроить шаблон так чтоб выводились только столбцы в которых будут прописаны значения в полях? Т.е. в категории список товаров в которых не прописаны значения в поле Code - тогда этот столбец не отображается


  • 0

#6 SmetDenis

SmetDenis

Отправлено 08 October 2015 - 07:23

Сделать подобное можно но хлопотно.

Дело вот в чем,
- сайт рисует страницу сверху вниз
- мы сначала создаем шапку таблицы
- далее идем по всем материалам, где каждый делает свои теги tr>td

Получается что
- либо после рендеринга всей таблицы нам нужно каким-то образом вернуться обратно и убрать все уже отрендеренные пустые ячейки
- либо заранее проверить все данные материалов и разобраться какие колонки будут в таблице.
- сделать какой-то хак через JS+CSS

Все способы сложные и сильно повлияют на скорость работы сайта, т.к придется делать два прохода по одним и тем же материалам. В случае с JS скорее всего будет видно дерганье страницы.
  • 0
JBZoo v4.0 и новый чудный мир Open Source GPL
Отключайте проверку лицензий как можно скорее!



— Есть два типа людей: Кто еще не делает бекапы и кто уже делает бекапы.


#7 registr

registr

Отправлено 08 October 2015 - 09:55

т.е. остается такой вариант: сверстать не табличный шаблон но выводящий поля в виде таблицы? В стандартных шаблонах ведь пустые поля не выводятся? Как-то так можно сделать? Просто пытаюсь понять как правильно подойти к решению, чтоб в итоге выводились товары визуально как таблица и не выводились поля с пустыми значениями Можете показать какой код где прописан отвечающий за такую функцию как не отображать пустые поля? Мелкими шажками но все же пытаюсь хоть чему-то научиться:). И если можно, посоветуйте: будет три языка, есть компонент ZOOLingual, лучше использовать его или просто сделать три одинаковых типа под каждый язык со своими полями?


  • 0

#8 SmetDenis

SmetDenis

Отправлено 27 October 2015 - 13:26

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

Скрывать не использованные ячейки можно с помощью объединений - colspan/rowspan либо убрать все отступы и ширину, тогда тег td без содержимого (чтобы даже пробелов не было) станет не видимым, т.к не будет занимать места.

Другой вариант сделать JS скрипт. Но это уже самый крайний случай и страница будет дергаться при загрузке.

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

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

На мой взгляд для разных языков должны быть разные сайты, либо 3 разных каталога
http://jbzoo.ru/blog...ingual-websites

Так проще будет поддерживать сайт.
  • 0
JBZoo v4.0 и новый чудный мир Open Source GPL
Отключайте проверку лицензий как можно скорее!



— Есть два типа людей: Кто еще не делает бекапы и кто уже делает бекапы.





Click to return to top of page in style!