User Tools

Site Tools


ru:new_rotation_templates

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revision Previous revision
Next revision
Previous revision
ru:new_rotation_templates [2019/01/10 07:23]
admin [Related Galleries]
ru:new_rotation_templates [2019/05/11 10:59] (current)
admin [Global Custom Vars]
Line 192: Line 192:
  
 Такое поведение можно избежать если добавить в таг <thumb allow_dupes=true num=1-10></​thumb> ​   Такое поведение можно избежать если добавить в таг <thumb allow_dupes=true num=1-10></​thumb> ​  
 +
 +
 +===== Inline thumbs =====
 +
 +Полезный таг для нативной рекламы.
 +
 +Например,​ у нас есть стандартный таг ​
 +
 +<​code>​
 +<thumb num=1-100>​ <a href='/​gallery/<​!--GALLERY_SLUG-->'>​ ... </a> </​thumb>​
 +</​code>​
 +
 +и мы хотим подмешать как рекламу спонсора. В обычном случае это выглядело бы как ​
 +
 +<​code>​
 +<thumb num=1-50>​ <a href='/​gallery/<​!--GALLERY_SLUG-->'>​ ... </a> </​thumb>​
 +
 +<a href='​link to sponsor'>​ ... </a>
 +
 +<thumb num=51-100>​ <a href='/​gallery/<​!--GALLERY_SLUG-->'>​ ... </a> </​thumb>​
 +
 +</​code>​
 +
 +те нам надо руками указать где именно разрыв в настоящих тумбах и линк на спонсора.
 +
 +
 +в новым тагом сделать это намного удобнее ​
 +
 +1. создаем сабтемплейт например sponsor_thumbs
 +
 +<​code>​
 +<a href='​link to sponsor'>​ ... </a>
 +</​code>​
 +
 +2. в странице прописываем как ​
 +
 +<​code>​
 +<thumb num=1-100 **inline_thumbs=5 inline_thumbs_subtemplate=sponsor_thumbs**>​
 +<a href='/​gallery/<​!--GALLERY_SLUG-->'>​ ... </​a> ​
 +</​thumb>​
 +</​code>​
 +
 +те из 100 тумб на рендомных местах будет выведено не <a href='/​gallery/<​!--GALLERY_SLUG-->'>​ ... </a> , а то что указано в сабтемплейте sponsor_thumbs,​ те линк на спона. Таким образом эти линки будут органично вписаны в страницу и не выглядеть чем-то инородным.
  
  
Line 198: Line 241:
 По дефолту тумбы сортируютс по ЦТР. Но вы можете сортировать в другом порядке:​ По дефолту тумбы сортируютс по ЦТР. Но вы можете сортировать в другом порядке:​
  
 +<​code>​
 date date
 date_asc date_asc
Line 205: Line 249:
 total_shows total_shows
 no_order (фактически по ИД) no_order (фактически по ИД)
 +random , обратите внимание что random медленный на больших базах
 +easy_random - псевдо рендом,​ рекомендуется использовать этот вариант на больших базах
 +</​code>​
  
 Как уже было отмечено выше параметры из урла переходят в таг, если не указано обратного. Как уже было отмечено выше параметры из урла переходят в таг, если не указано обратного.
  
 Те &​order=date в урле ​ это тоже самое что <thumb order=date Те &​order=date в урле ​ это тоже самое что <thumb order=date
 +
 +так же можно сортировать по кастом вар галер например ​
 +
 +  <thumb num=1-10 order=custom_var1 sort=desc (или asc) >
 +  ​
 +но тут надо помнить что по умолчанию на этих полях нет индекса,​ и сортировка на больших базах по этим полям может быть медленной.  ​
 ===== Unset parameter ===== ===== Unset parameter =====
  
Line 247: Line 300:
  
 Проблема:​ у нас есть какая то страница на которой 2 тага: <thumb group=A num=1-10 and <thumb group=B num=1-10 Возникает проблема с навигацией,​ поскольку не ясно по какому из тагов считать максимальное кол-во страниц. Для того что б пофиксить это введен параметр page_main_tag те <thumb group=B num=1-10 page_main_tag=true в данном варианте посчитает навигацию по этому тагу. ​ Проблема:​ у нас есть какая то страница на которой 2 тага: <thumb group=A num=1-10 and <thumb group=B num=1-10 Возникает проблема с навигацией,​ поскольку не ясно по какому из тагов считать максимальное кол-во страниц. Для того что б пофиксить это введен параметр page_main_tag те <thumb group=B num=1-10 page_main_tag=true в данном варианте посчитает навигацию по этому тагу. ​
 +
 +
 +
 +===== do_not_count_shows =====
 +
 +Если по какой-то причине для каких-то тумб на странице не надо считать показы,​ то достаточно добавить в таг параметр do_not_count_shows
 +
 +  <thumb do_not_count_shows=true
 +
 +
 +так это работает для системных тумб, например тумб категорий. Это надо например когда вы просто выводите лист категорий,​ без вывода тумбы, например ​
 +
 +<​code>​
 +<​category do_not_count_shows=true order=alphabet num=1-200>​
 +<​!--CATEGORY_NAME-->​ <br>
 +</​category>​
 +</​code>​
 +
  
  
Line 506: Line 577:
   а так же <​!--GALLERY_TEXT-->​ - это весь текст с галеры с которой делался кастом галя. Вы можете редактировать этот текст в Edit любой галереи.   а так же <​!--GALLERY_TEXT-->​ - это весь текст с галеры с которой делался кастом галя. Вы можете редактировать этот текст в Edit любой галереи.
   ​   ​
 +
 +
 +
   И общие переменные для кастом гали ​   И общие переменные для кастом гали ​
   ​   ​
Line 521: Line 595:
   <​!--ITEM_NUM--> ​ <​!--IMAGE-->​ <​!--THUMB--> ​ <​!--THUMB_X--> ​ <​!--THUMB_Y-->​ <​!--IMAGE_X-->​ <​!--IMAGE_Y--><​br>​   <​!--ITEM_NUM--> ​ <​!--IMAGE-->​ <​!--THUMB--> ​ <​!--THUMB_X--> ​ <​!--THUMB_Y-->​ <​!--IMAGE_X-->​ <​!--IMAGE_Y--><​br>​
   </​gallery_content>​   </​gallery_content>​
 +
 +
 +Можно лимитировать по типу контента
 +
 +  <​gallery_content num=1-10 content_limit=image>​
  
  
Line 629: Line 708:
  
   Например <​!--STRIP_SPECIAL_CHARS_DESCRIPTION_30-->​   Например <​!--STRIP_SPECIAL_CHARS_DESCRIPTION_30-->​
 +  ​
 +**6. URLSAFE_ ** 
 +
 +заменяет пробелы и прочее на тире для красоты урла
 ====== Pagination ====== ====== Pagination ======
  
Line 714: Line 797:
   * min_gallery_count лимит по кол-ву галер в категории ​   * min_gallery_count лимит по кол-ву галер в категории ​
   * set - выбор сета тумб категорий,​ по дефолту 1 но можно сделать set=2 например <​category order=alphabet num=1-5 set=2>   * set - выбор сета тумб категорий,​ по дефолту 1 но можно сделать set=2 например <​category order=alphabet num=1-5 set=2>
-  * first_letter=... вывод категорий начинающихся с такой-то буквы+  * first_letter=... вывод категорий начинающихся с такой-то буквы, # - начинается с цифры
   * custom_name_first_letter = ... вывод категорий у которых кастом имя начинается с такой-то буквы   * custom_name_first_letter = ... вывод категорий у которых кастом имя начинается с такой-то буквы
   * group_custom_var1 group_custom_var2 group_custom_var3 - по кастом полям   * group_custom_var1 group_custom_var2 group_custom_var3 - по кастом полям
Line 720: Line 803:
   * sort_field = сортировка по определенному полю (category_name,​ category_custom_name,​ category_custom_var1 (2, 3) )   * sort_field = сортировка по определенному полю (category_name,​ category_custom_name,​ category_custom_var1 (2, 3) )
   * sort_order - относительно sort_field (asc, desc)   * sort_order - относительно sort_field (asc, desc)
-  * order - сортировка списка категорий по алфавиту (alphabet) ​и по популярности (clicks)+  * order - сортировка списка категорий по алфавиту (alphabet)по популярности (clicks), кол-ву галер (total_items)
 Технически можно сортировать по любому полю из массива кажой категории,​ но вот список тех сортировок которые возможно пригодятся кроме 2х наиболее используемых ​ Технически можно сортировать по любому полю из массива кажой категории,​ но вот список тех сортировок которые возможно пригодятся кроме 2х наиболее используемых ​
 category_custom_name,​ category_description,​ category_id,​ group_custom_var1,​ group_custom_var2,​ group_custom_var3 category_custom_name,​ category_description,​ category_id,​ group_custom_var1,​ group_custom_var2,​ group_custom_var3
Line 858: Line 941:
 </​code>​ </​code>​
  
 +
 +
 +Можно добавить пагинацтию для моделей
 +
 +<​code>​
 +<models num=1-12 type=pagination>​
 +<​!--PAGE_NUM-->​ (<​!--TOTAL_ITEMS-->​ <​!--TOTAL_PAGES-->​) <br>
 +</​models>​
 +</​code>​
 ====== Sponsors List ====== ====== Sponsors List ======
  
Line 902: Line 994:
 Кроме all других значений пока нет, оставлено на будущее. Кроме all других значений пока нет, оставлено на будущее.
  
-Обратите внимание,​ что при логгировании поисковых запросов так же учитывается ​конфиг файл banned_words.txt ​и если кто-то ищет слово из списка ​в этом файле ​- оно не будет логгировано. +Обратите внимание,​ что при логгировании поисковых запросов так же учитывается ​поле из сеттингов Banned words и если кто-то ищет слово из списка - оно не будет логгировано.
- +
- +
-В версии 50 в таг для вывода лога поисковых запросов на сайте добавлены следующие возможности ​+
  
 <​code>​ <​code>​
Line 920: Line 1009:
  
 min_hits= это искали минимум Х раз min_hits= это искали минимум Х раз
 +
 +search= фильтр поисковых запросов по этому слову
 +
 +есть "​синтаксический сахар"​
 +filter= CURRENT_CATEGORY_NAME или CURRENT_TAG_NAME
 +
 +что тоже самое что и search=GET_category_name и search=GET_tag_name (те берем слова для поиска из урла)
 +
 +
 +exclude_search_query= исключить из результатов,​ 99% будет exclude_search_query=GET_search - те исключение текущего запроса
  
 </​code>​ </​code>​
Line 925: Line 1024:
  
  
 +При поиске на сайте мы логгируем сам запрос,​ например,​ "​машина"​ и ИД галеры,​ которая первая по этому запросу,​ таким образом можно вывести не только сами запросы,​ но сразу и тумбы топ галер по этим запросам. Например,​
 +
 +<​code>​
 +<thumb search_log=all num=1-10> ​
 +<​!--SEARCH_QUERY--> ​ <​!--THUMB_URL-->​ <​!--GALLERY_ID-->​ и тп данные галеры,​ которая была первой по этому запросу
 +</​thumb>​
 +</​code>​
 +
 +
 +
 +При выводе результатов поисковых запросов скрипт исключает из них галеры,​ которые были выведены в основном таге вывода тумб. ​
 +
 +
 +Например
 +
 +<​code>​
 +вывод тумб ​
 +<thumb num=1-10>​ <​!--GALLERY_ID-->​ </​thumb>​
 +
 +и вывод поисковых запросов
 +<thumb search_log=all num=1-10> ​
 +<​!--SEARCH_QUERY-->​ <​!--GALLERY_ID-->​
 +
 +вот тут не будет тумб которые уже выведены в таге выше. ​
 + </​thumb>​
 +
 +</​code>​
 +
 +Таким образом может получится ситуация,​ когда вы в админке видите,​ что есть запрос "​машина",​ но его почему-то не выводит в <thumb search_log=. Это может быть потому,​ что топ 1 тумба по результатам поиска "​машина"​ уже выведена на этой странице. Что б этого избежать можно добавлять allow_dupes в таг, например
 +
 +<thumb search_log=all num=1-10 allow_dupes=true> ​
 +<​!--SEARCH_QUERY-->​ <​!--GALLERY_ID-->​
 +</​thumb>​
 +
 +
 +
 +===== Search log filter =====
 +
 +Так же можно выводить лог поисковых запросов,​ фильтруя по текущему запросу в поиске. Например,​ серфер ищет domain.com/?​search=test,​ в темплейте у нас ​
 +
 +<​code>​
 +вывод тумб результатов поиска ​
 +<thumb num=1-10>​ <​!--GALLERY_ID-->​ </​thumb>​
 +
 +и вывод поисковых запросов
 +
 +<thumb search_log=all num=1-10 search=GET_search>​ <​!--SEARCH_QUERY-->​ </​thumb>​
 +
 +где GET_search - это параметр search из GET (те урла)
 +
 +</​code>​
 +
 +**Ньюанс фильтрации** ​
 +
 +По умолчанию mysql ищет как полное слово, например искали "test car" оно будет фильтровать по полному вхождению. Те в данном случае если в поисковых запросах будет "test bus" то этот запрос не выведет.
 +
 +Если у вас mysql версия 5.6  и выше то поле автоматически конвертируется в полнотекстовый поиск (mysql fulltext search) и в этом случае вам ничего не надо делать,​ скрипт будет автоматически искать и по одному слову, те в примере "test bus" тоже попадет в результаты.
 +
 +Но если у вас mysql до 5.6  ЛИБО кол-во поисковых запросов очень велико (100к+), то вам надо использовать sphinx для поиска. Индексируем поисковые запросы (см Sphinx статью в вики) и прописываем Sphinx Search Log Index в сетингах. ​ По дефолту ​ сфинкс тоже ищет полные вхождения,​ но ему можно прописать флаг Sphinx Search Mod = SPH_MATCH_ANY и он будет искать даже по одному слову.
 ===== Search query limit ===== ===== Search query limit =====
  
Line 995: Line 1153:
 <trader num=2-3> <​!--DOMAIN-->​ </​trader>​ <trader num=2-3> <​!--DOMAIN-->​ </​trader>​
 </​code>​ </​code>​
 +
 +
 +Можно указать рендомное кол-во тумб, например ​
 +<​code>​
 +<trader num=random random_start=1 random_end=10 random_items=3
 +</​code>​
 +
 +выведет 3 трейдера от которые где-то на позиции между 1 и 10
 +
  
  
Line 1000: Line 1167:
  
 <​code>​ <​code>​
 +<​!--TRADER_NUM-->​ номер в топе
 <​!--DOMAIN-->​ - домен ​ <​!--DOMAIN-->​ - домен ​
 <​!--DESCRIPTION-->​ = <​!--DESC--> ​ <​!--DESCRIPTION-->​ = <​!--DESC--> ​
Line 1074: Line 1242:
 В этом опредленно есть смысл, так на форуме smartcj.com было много спама, потому что стандартную капчу давно уже разбирают автоматически. Разобрать автоматически вопрос намного сложнее. Результат - 99% спама пропало. В этом опредленно есть смысл, так на форуме smartcj.com было много спама, потому что стандартную капчу давно уже разбирают автоматически. Разобрать автоматически вопрос намного сложнее. Результат - 99% спама пропало.
  
 +====== Tag Processing ======
 +
 +Сначала обрабатываются таги, потом выполняется пхп. Например,​ у нас конструкция ​
 +
 +<thumb num=1-5>
 +<​!--GALLERY_SLUG-->​ <?php $count++; ?>
 +</​thumb>​
 +
 +это значит что сначала это буде разложено в 
 +
 +<​code>​
 +slug1 <?php $count++; ?>
 +slug2 <?php $count++; ?>
 +slug3 <?php $count++; ?>
 +slug4 <?php $count++; ?>
 +slug5 <?php $count++; ?>
 +</​code>​
 +
 +и потом выполнен пхп.
 +
 +Это так же значит что нельзя всунуть пхп в сам таг, например
 +
 +<thumb num=$my_var>​
 +
 +потому что, опять же, сначала таги, потом пхп.
 +
 +Данные в таг передаются например из урла GET_ или predefined vars например CURRECT_ITEM_...
 ====== Global Custom Vars ====== ====== Global Custom Vars ======
  
ru/new_rotation_templates.1547105011.txt.gz · Last modified: 2019/01/10 07:23 by admin