Page 1 of 3

Расширение значений Content Type галер и новый <!--GALLERY_CONTENT_TYPE-->

Posted: Mon Jan 22, 2024 5:11 pm
by TplMkr
что предлагается реализовать: добавить более расширенную систему типизации контента галер, с учётом реальных названий типов контента, которые использовались для её создания и которые она на самом деле содержит.


как это сейчас: на данный момент, галеры, которые содержали паттерн импорта `embed_code` в качестве своего `<!--CONTENT_TYPE-->` возвращают `flash`, однако, все прочие таги, в тех местах где действительно предполагался бы вывод flv-мувиса, возвращают пустые значения, например:

- `FLASH_COUNT` - возвращает 0 (хотя embed_code вставляет плеер)
- `FLASH_1_THUMB` - пустое значение

и некоторые другие, FLASH-specific

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

предложения по реализации:
для использования запрашиваемой фичи конкретно в новых шаблонах, предлагается добавить новый системный(внутренний) тип - `embedded`, а так же таг - `<!--GALLERY_CONTENT_TYPE-->` который бы возвращал истинный тип контента галеры, с учётом `embed_code`, видео-файлов и прочее.

предлагаемые новые внутренние значения типов контента:

* `image` - для пикчевых галер, как и раньше
* `movie` - для видео-галер, при импорте которых был явно задан паттерн `Video URL`, в качестве разрешения содержащий все поддерживаемые форматы видео (mp4, webm), кроме .flv
* `flash` - если вдруг где-то ещё реально галера содержит flv-мувик, т.е. при импорте галеры в качестве паттерна импорта использовался flv_url
* `embedded` - при импорте был явно задан паттерн фильтра `embed_code`
* список (через разделитель) любых вышеперечисленных типов, если галера миксованная.

так же, сейчас уже имеющийся паттерн импорта `Video URL`, на самом деле, имеет системное имя `flv_url`, поэтому, для избежания путаницы и поддержки обратной совместимости, предлагается добавить новый паттерн импорта - `Video File URL` (который, собственно, и будет содержать ссылку именно на видео-файл, в формате .mp4, .webm и прочее) со своим собственным системным именем `video_file_url` (вместо `flv_url`, который так и останется за существующим паттерном c именем `Video URL`), и таким образом, галеры которые будут импортироваться с использованием нового `video_file_url` (`Video File URL`), будут возвращать в качестве `<!--GALLERY_CONTENT_TYPE-->` тип `movie` или "список типов, если галера миксованная", когда же для уже имеющегося `<!--CONTENT_TYPE-->` - те значения, как и ранее

касательно миксованного контента: если кастом-галя делалась из мувика, но мы так же нагенерили для неё пикчей (из скриншотов, или добавили Image List просто в качестве доп. пиксового контента для этой гали) , content type гали в новых предлагаемых терминах - `миксованный`, и для такой гали, новый таг `<!--GALLERY_CONTENT_TYPE-->` будет возвращать список типов контента через какой-либо разделитель, например, результат обработки `<!--GALLERY_CONTENT_TYPE-->` для этой галеры вернёт: image,movie и т.д.

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

upd: поменял на более подходяшее имя тага типа(ов) контента галеры
upd2: кстати, неплохо бы markdown форматирование к форуму прикрутить было б...

Re: Расширение значений Content Type галер и новый <!--GALLERY_CONTENT_TYPE-->

Posted: Tue Jan 23, 2024 7:02 am
by admin
какую задачу в целом надо решить?

что б контент embed был отмечен другим типом, верно?

Re: Расширение значений Content Type галер и новый <!--GALLERY_CONTENT_TYPE-->

Posted: Tue Jan 23, 2024 6:47 pm
by TplMkr
admin wrote: Tue Jan 23, 2024 7:02 am какую задачу в целом надо решить?
в идеале мы хотели бы добиться следующего: оставить только один "контентный" шаблон (content_page) а способы отображения конкретного типа контента (embed_code, video player for URL.mp4, images, etc) вынести в отдельные "вспомогательные" шаблоны с разметкой под отображение только этого конкретного типа контента, а так же с возможностью подключения\отключения этих вспомогательных блоков в зависимости от разных условий, например:

content_page.tpl

Code: Select all

<!--INCLUDE_TEMPLATE_header-->
... html-разметка для контентной страницы

<!-- ДАЛЕЕ ВЫВОД БЛОКОВ В ЗАВИСИМОСТИ ОТ ИМЕЮЩИХСЯ ТИПОВ КОНТЕНТА ДЛЯ ДАННОЙ ГАЛЕРЫ: -->

<?php $CONTENT_TYPES = explode(',', '<!--ESCAPED_GALLERY_CONTENT_TYPE-->');?>

<?php if (in_array('embedded', CONTENT_TYPES)) :?>
<!--INCLUDE_TEMPLATE_section_block_with_markup_for_EMBEDDED_PLAYER-->
<?php elseif (in_array('movie', CONTENT_TYPES) :?>
<!--INCLUDE_TEMPLATE_section_block_with_markup_for_CUSTOM_VIDEO_PLAYER-->
<?php endif; ?>

<!-- вывод дополнительных блоков под конкретный тип контента, если он имеется у товара -->

<?php if ('in_array('image', CONTENT_TYPES) :?>
<!--INCLUDE_TEMPLATE_section_block_with_markup_for_IMAGE_SLIDER-->
<?php endif; ?>

...остальной общий код, типа

<!--INCLUDE_TEMPLATE_section_block_with_markup_for_RELATED_GALLERIES-->

<!--INCLUDE_TEMPLATE_footer-->
вот эти шаблоны:

section_block_with_markup_for_EMBEDDED_PLAYER
section_block_with_markup_for_CUSTOM_VIDEO_PLAYER
section_block_with_markup_for_IMAGE_SLIDER

будут содержать блок с разметкой специфичной только под отображения конкретного типа контента (слайдер с картинками, код видео-плеера, вывод embed-кода и так далее), но для этого нам нужно более точное определение типов контента, которые имеются для этой галеры

Re: Расширение значений Content Type галер и новый <!--GALLERY_CONTENT_TYPE-->

Posted: Tue Jan 23, 2024 7:19 pm
by admin
те по факту надо грубо 6 темплейтов:
- хедер
- основной темплейт под все галеры
- 3 вспомогательных в зависимости от типа контента
- боттом


чем это глобально отличается от того что есть сейчас (5 темплейтов)

- хедер
- 3 темплейта по типа контента
- боттом



==========


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

<?php if (in_array('embedded', CONTENT_TYPES)) :?>
<!--INCLUDE_TEMPLATE_section_block_with_markup_for_EMBEDDED_PLAYER-->
<?php elseif (in_array('movie', CONTENT_TYPES) :?>
<!--INCLUDE_TEMPLATE_section_block_with_markup_for_CUSTOM_VIDEO_PLAYER-->
<?php endif; ?>



я что-то не вижу профита в этой системе

Re: Расширение значений Content Type галер и новый <!--GALLERY_CONTENT_TYPE-->

Posted: Tue Jan 23, 2024 8:04 pm
by TplMkr
что бы вынести специфичный код для отображения конкретного типа контента в независимый блок, который можно было бы повторно использовать в других страничных шаблонах, а не копипастить повторяющиеся части

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

вынесение их в отдельный внутренний шаблон, позволит включать такие контентные блоки на разных страницах в разных местах без дополнительной копипасты и больших редактированией (т.е. просто перемещая например <!--INCLUDE_TEMPLATE_..._CUSTOM_VIDEO_PLAYER--> туда, где это нужно по новому дизайну)

условно, сам section_block_with_markup_for_IMAGE_SLIDER может выглядеть как-то так:

Code: Select all

<section class="content-entry content-entry__slider">
	<h3><!--ALT::MAIN--> Image Gallery</h3>
	<div class="image-slider">
		<article class="image-slider__wrapper">
			<thumb num=1-100
				gallery_slug=GET_slug
				...
			>
				<div class="image-slider__slide" data-item="<!--CUSTOM_GALLERY_ITEM_ID-->">
					<img scr="<!--THUMB_URL-->" lazy>
				</div>
			</thumb>
		</article>
</section>
section_block_with_markup_for_CUSTOM_VIDEO_PLAYER с другой разметкой и так далее

Re: Расширение значений Content Type галер и новый <!--GALLERY_CONTENT_TYPE-->

Posted: Tue Jan 23, 2024 8:13 pm
by TplMkr
admin wrote: при этом скрип автоматом выставляет нужный темплейт в зависимости от типа контента и не надо при каждом заходе юзера вычислять

<?php if (in_array('embedded', CONTENT_TYPES)) :?>
...
то не вижу профита в этой системе
здесь смысл в том, что мы опционально можем добавить (или убрать) тот или иной блок вывода конкретного типа контента (например - добавить слайдер с User Thumbs если они имеются, ниже видеоплеера, можем убрать, поменять их местами или сразу переместить в другое место) просто инклюдом вспомогательного шаблона с кодом разметки под требуемый (имеющийся у галеры) тип контента

а в случае редактирования такого блока (_CUSTOM_VIDEO_PLAYER) это нужно будет сделать только в одном файле самого блока

Re: Расширение значений Content Type галер и новый <!--GALLERY_CONTENT_TYPE-->

Posted: Tue Jan 23, 2024 10:44 pm
by admin
упросим

есть только 2 типа контента - картинки и ембед
и соотв 2 темплейта

Оба они состоят из

1 HEADER
2 Вывод контента
3 BOTTOM

и отличаются только по "Вывод контента"

вы предлагаете сделать 1 темплейт для обоих типов контента
но 2 Вывод контента написать в виде


<?php if (in_array('embedded', CONTENT_TYPES)) :?>
<!--INCLUDE_TEMPLATE_for_EMBEDDED_PLAYER-->
<?php elseif (in_array('movie', CONTENT_TYPES) :?>
<!--INCLUDE_TEMPLATE__for_IMAGES-->
<?php endif; ?>




я верно понял?

Re: Расширение значений Content Type галер и новый <!--GALLERY_CONTENT_TYPE-->

Posted: Tue Jan 23, 2024 11:32 pm
by TplMkr
admin wrote: я верно понял?
да, основная цель - сделать блоки разметки отвечающие за вывод конкретного типа контента повторно используемыми (с возможностью инклюда их из шаблонов других страниц), вынеся их в отдельные "внутренние" шаблоны (а так же при необходимости редактирования какой-либо их части - делать это только в одном месте)

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

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

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

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

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

Re: Расширение значений Content Type галер и новый <!--GALLERY_CONTENT_TYPE-->

Posted: Wed Jan 24, 2024 7:21 am
by admin
Итого у нас вариант

назначить 1 главный темплейт ВСЕМ галера
и в нем инклудить разметку поод конкретный тип галеры

<!--INCLUDE_TEMPLATE_for_EMBEDDED_PLAYER-->
и
<!--INCLUDE_TEMPLATE__for_IMAGES-->


ИЛИ

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

чем этот вариант хуже?

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

Re: Расширение значений Content Type галер и новый <!--GALLERY_CONTENT_TYPE-->

Posted: Wed Jan 24, 2024 5:47 pm
by TplMkr
admin wrote: ИЛИ
сделать 2 отдельных темпелйта и назначить каждый темплейт своему типу галер
чем этот вариант хуже?
случай, когда у мувисной галеры могут быть дополнительные пикчи (но могут и не быть) - вот этот пример со слайдером выше описан, или любой другой тип контента, и при условии, что мы хотим вставлять этот слайдер (плеер или что-то ещё) в разные другие страницы, где можно будет получить инфу о галере. и вот тогда приходится или копипастить каждый блок по всем таким страничным шаблонам, или просто раз заинклюдить, и после редактировать только один конкретный блок, ровно как и двигать только один include по коду шаблонов

разумеется, это моё субъективное мнение основанное на опыте работы с другими системами управления контентом с развитыми стратегиями шаблонизации... если вы уверены, что подобная ф-ность будет лишней - вопрос с запросом данной фичи закрыли.