Тумбы для модели выводятся без первой тумбы

darkover
Posts: 1574
Joined: Sat Apr 13, 2013 8:59 pm

Re: Тумбы для модели выводятся без первой тумбы

Post by darkover »

admin wrote: Tue Feb 06, 2024 6:18 am page_main_tag надо юзать


<thumb num=1-2 allow_dupes=true> - тут 2 галеры

<thumb num=3-5 > - тут 3 галеры, считаем что это основной таг
т.е. получается вот так
<thumb num=1-2 do_not_count_shows=true >
<thumb num=1-2 allow_dupes=true>
<thumb num=3-5 page_main_tag=true>

либо просто забить на то, что ругается гугл и убрать нафиг из <head> шаблона
<thumb num=1-2 do_not_count_shows=true >

admin wrote: Tue Feb 06, 2024 6:18 am
группа аутдор
выводим сначала <thumb num=1-2 , сюда ушли все 2 галеры которые есть в группе

<thumb num=3-5 - тут оказывается нет галер (надо ж 3-5, а их всего 2), а на этот таг стоит что на него надо ориентироваться по наличию галер, нет галер - отправляем на 404
С этим все понятно, спасибо
admin
Site Admin
Posts: 37994
Joined: Wed Sep 10, 2008 11:43 am

Re: Тумбы для модели выводятся без первой тумбы

Post by admin »

<thumb num=1-2 do_not_count_shows=true >
<thumb num=1-2 allow_dupes=true>
<thumb num=3-5 page_main_tag=true>


должно работать но смысла не имеет тк

<thumb num=1-2 do_not_count_shows=true >
<thumb num=1-2 allow_dupes=true>

do_not_count_shows=true нет смысла, тут 2 подряд - да, но посчитает показ только 1 раз, специально где-то в доке ситуация не рассматривается правда

allow_dupes=true - тоже нет смысла именно тут тк если просто сделать 2 раза

<thumb num=1-2
<thumb num=1-2


то выведет одно и то же 2 раза

allow_dupes=true это для варианта

<thumb num=1-2 category=..
<thumb num=1-2 search=..

те когда таги разные, но результаты по ним могут быть одинаковые



те если сделать просто

<thumb num=1-2>
<thumb num=1-2>
<thumb num=3-5>


то будет работать
Don't forget to run script update
darkover
Posts: 1574
Joined: Sat Apr 13, 2013 8:59 pm

Re: Тумбы для модели выводятся без первой тумбы

Post by darkover »

admin wrote: Tue Feb 06, 2024 10:54 am <thumb num=1-2 do_not_count_shows=true >
<thumb num=1-2 allow_dupes=true>
<thumb num=3-5 page_main_tag=true>


должно работать но смысла не имеет тк

<thumb num=1-2 do_not_count_shows=true >
<thumb num=1-2 allow_dupes=true>

do_not_count_shows=true нет смысла, тут 2 подряд - да, но посчитает показ только 1 раз, специально где-то в доке ситуация не рассматривается правда

allow_dupes=true - тоже нет смысла именно тут тк если просто сделать 2 раза

<thumb num=1-2
<thumb num=1-2


то выведет одно и то же 2 раза

allow_dupes=true это для варианта

<thumb num=1-2 category=..
<thumb num=1-2 search=..

те когда таги разные, но результаты по ним могут быть одинаковые



те если сделать просто

<thumb num=1-2>
<thumb num=1-2>
<thumb num=3-5>


то будет работать
Ясно, спасибо
admin wrote: Tue Feb 06, 2024 10:54 am do_not_count_shows=true нет смысла, тут 2 подряд - да, но посчитает показ только 1 раз, специально где-то в доке ситуация не рассматривается правда
А вот если бы это было в доке, то и вопроса бы не возникло )
admin
Site Admin
Posts: 37994
Joined: Wed Sep 10, 2008 11:43 am

Re: Тумбы для модели выводятся без первой тумбы

Post by admin »

оно и написано )

https://smartcj.com/wiki/doku.php?id=ru ... _templates

**Повторяемость галер - allow_dupes**

Если у вас условно есть таг
<thumb num=1-10></thumb>

и вы впишете где-то в темплейте <thumb num=1-5></thumb> или <thumb num=1-10></thumb> , те когда параметры тага точно совпадают, то скрипт выведете те же тумбы.

Однако, если таги отличаются, например следующий таг

<thumb num=1-10 order=date></thumb>
<thumb num=1-10 sponsor_id=5></thumb>

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

Такое поведение можно избежать если добавить в таг <thumb allow_dupes=true num=1-10></thumb>
Don't forget to run script update
darkover
Posts: 1574
Joined: Sat Apr 13, 2013 8:59 pm

Re: Тумбы для модели выводятся без первой тумбы

Post by darkover »

admin wrote: Tue Feb 06, 2024 11:33 am оно и написано )

https://smartcj.com/wiki/doku.php?id=ru ... _templates

**Повторяемость галер - allow_dupes**

Если у вас условно есть таг
<thumb num=1-10></thumb>

и вы впишете где-то в темплейте <thumb num=1-5></thumb> или <thumb num=1-10></thumb> , те когда параметры тага точно совпадают, то скрипт выведете те же тумбы.

Однако, если таги отличаются, например следующий таг

<thumb num=1-10 order=date></thumb>
<thumb num=1-10 sponsor_id=5></thumb>

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

Такое поведение можно избежать если добавить в таг <thumb allow_dupes=true num=1-10></thumb>
Это я читал, это я понял уже.
Я говорю о том, что do_not_count_shows=true нафиг не нужен, и если есть два тага на странице типа
<thumb num=1-10
<thumb num=1-20

то у тумб 1-10, которые выведутся 2 раза на странице, подсчет показов будет только один раз засчитан.
если бы эта информация была в вики, и вопроса бы не возникло )
admin
Site Admin
Posts: 37994
Joined: Wed Sep 10, 2008 11:43 am

Re: Тумбы для модели выводятся без первой тумбы

Post by admin »

Дописал

===== do_not_count_shows =====

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

<thumb do_not_count_shows=true

Обратите внимание что показ тумбы считается 1 раз. Например, на странице

<meta ... <thumb num=1-10> <!--DESCRIPTION--> </thumb> - те просто заполнение мета данных

а позже в странице опять
<thumb num=1-10><a href ...> те те же тумбы но другой сабтемплейт что б вывести тумбы

несмотря на то что выведено 2 раза - будет посчитан только 1 показ.


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

<code>
<category do_not_count_shows=true order=alphabet num=1-200>
<!--CATEGORY_NAME--> <br>
</category>
</code>
Don't forget to run script update
darkover
Posts: 1574
Joined: Sat Apr 13, 2013 8:59 pm

Re: Тумбы для модели выводятся без первой тумбы

Post by darkover »

admin wrote: Tue Feb 06, 2024 5:05 pm Дописал

===== do_not_count_shows =====

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

<thumb do_not_count_shows=true

Обратите внимание что показ тумбы считается 1 раз. Например, на странице

<meta ... <thumb num=1-10> <!--DESCRIPTION--> </thumb> - те просто заполнение мета данных

а позже в странице опять
<thumb num=1-10><a href ...> те те же тумбы но другой сабтемплейт что б вывести тумбы

несмотря на то что выведено 2 раза - будет посчитан только 1 показ.


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

<code>
<category do_not_count_shows=true order=alphabet num=1-200>
<!--CATEGORY_NAME--> <br>
</category>
</code>
вот теперь понятно, четко и ясно.
Но из текста выполз вопрос :

<category без do_not_count_shows=true
если где-то внизу страницы, куда обычно никто никогда не долистывает на мобильной версии, сделан вывод категории текстом, без тумб, показы категориям тоже считаются ?? ( мейджик ротация )
admin
Site Admin
Posts: 37994
Joined: Wed Sep 10, 2008 11:43 am

Re: Тумбы для модели выводятся без первой тумбы

Post by admin »

показы засчитываются в момент создания страницы
скрипт не знает докрутил до конца человек или нет

можно сделать конечно lazy подгрузку по мере прокрутки - тогда будет точнее
Don't forget to run script update
TplMkr
Posts: 41
Joined: Fri Dec 22, 2023 5:39 am

Re: Тумбы для модели выводятся без первой тумбы

Post by TplMkr »

в общем, интуитивно понимая как это работает, по прочтению, чисто для себя, могу резюмировать в следующее, правильно ли это:

для тэгов циклов (<thumb>, <category>, etc) существует функционально 3 типа параметров:

1. параметры-предикаты - на их основании строится предикатная часть sql-выражений и осуществляется непосредственно выборка результатов из базы, используя данный тип параметров в качестве условий. к таким параметрам можно отнести, например: num (частично), allow_dupes (частично), order, sort, category_id, sponsor_id, model_id, gallery_id, gallery_slug, duration_min, content_type, skip_*, custom_var_* etc

2. параметры форматирования результата выборки - они не являются условиями по которым строится конечный запрос в базу, но влияют на полученный результат самой выборки. не смотря на то, что они присутствуют в конечном sql-выражении, на сам характер join-ов и условий не влияют. к этому типу относятся: num (частично), allow_dupes (частично), num_range_shift, exclude_current_thumb, etc

3. параметры-флаги - служебные параметры специфичные только для ф-нала самого тага. они могут изменять общий принцип выполнения самого тага самостоятельно, как и только в случае наличия параметров других типов, например: do_not_count_shows, zero_items_return_404, inline_thumbs, cache_time etc

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

Code: Select all

<thumb num=1-5 sort=desc>...</thumb>
<thumb num=1-5 sort=desc do_not_count_shows=true zero_items_return_404=off cache_time=60 skip_test_thumbs=true>...</thumb>
<thumb num=1-5 sort=desc>...</thumb>
<thumb num=1-4 sort=desc>...</thumb>
<thumb num=1-3 sort=desc>...</thumb>
<thumb num=1-2 sort=desc>...</thumb>
вернёт один и тот же набор тумб (хоть и разный по кол-ву, с пред-пост обработкой на основе параметров 2 и 3-го типов), не смотря на то, что каждый из тэгов имеет разный набор параметров как по кол-ву, так и по значению... но:

Code: Select all

<thumb num=1-5 allow_dupes=true order=duration sort=desc>...</thumb>
<thumb num=1-5 allow_dupes=true order=rating sort=desc>...</thumb>
вернут разные тумбы.

результат выборки тэгов-циклов кэшируется (или singleton-ятся ещё как-то) именно на основе параметров первого типа (параметры-предикаты): если они разные, то осуществляется новый запрос (и именно в этом случае происходит засчитывание показов там и прочее), или же если они одинаковые - то возвращается закэшенный, и после обрабатывается теми или иными параметрами 2-го и/или 3-го типов, и в этом случае, никаких новых показов элементы уже имеющейся выборки не получат.

-----

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

Code: Select all

<thumb
	num=1-5
	order=duration
	sort=asc
	sponsor=CURRENT_ITEM_SPONSOR
	tag=CURRENT_ITEM_TAGS_COMBINED
>
	//...
</thumb>
иногда просто для читабельности удобно передавать каждый параметр с новой строки... не планируется ли это поменять в будущем (правки в принципе минимальные - удаление \r\n\t с заменой на пробел, до ">")?
Last edited by TplMkr on Wed Feb 07, 2024 5:58 am, edited 14 times in total.
TplMkr
Posts: 41
Joined: Fri Dec 22, 2023 5:39 am

Re: Тумбы для модели выводятся без первой тумбы

Post by TplMkr »

так же, что б не пилить новую тему:

для <category> есть два очень семантичных параметра: sort_field & sort_order, когда для <thumb> - order & sort
имхо, хорошо бы было б, если сортировка указывалась во всех тэгах цикла одним способом.

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

считаю, что вариант sort_field & sort_order - самый релевантный по названиям своему функционалу
Post Reply