User Tools

Site Tools


ru:new_rotation_hints

Differences

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

Link to this comparison view

Both sides previous revisionPrevious revision
Next revision
Previous revision
ru:new_rotation_hints [2023/01/19 15:13] – [Master Slave First thumb] adminru:new_rotation_hints [2024/11/04 12:13] (current) – [Related From Another Domain] admin
Line 873: Line 873:
 ===== PHP code in template ===== ===== PHP code in template =====
  
-Как вы вероятно знаете, в темплейтах можно использовать пхп код. Рассмотреть все ньансы языка в одном примере конечно не получится, да и видимо не надо, однако хотелось бы показать небольшой пример. Например, нам надо вывести деск, таг <!--DESCRIPTION--> и мы решили сделать его весь большими буквами, на пхп это очень просто: +Как вы вероятно знаете, в темплейтах можно использовать пхп код. Рассмотреть все нюансы языка в одном примере конечно не получится, да и видимо не надо, однако хотелось бы показать небольшой пример. Например, нам надо вывести деск, таг <!--DESCRIPTION--> и мы решили сделать его весь большими буквами, на пхп это очень просто: 
  
   меняем <!--DESCRIPTION--> на <?php echo strtoupper('<!--DESCRIPTION-->')?>    меняем <!--DESCRIPTION--> на <?php echo strtoupper('<!--DESCRIPTION-->')?> 
      
-Однако тут есть ньанс: если в деске окажется ковычка, то получится что-то вроде <?php echo strtoupper('masha's super pic')?> те незакрытая ковычка и выскочит ошибка пхп. По этой причине такой вариант "в лоб" можно использовать только если вы уверены, что во фразе не будет ковычки (напрмиер урл гали ?). В остальных случаях надо пользоваться тн префиксы  [[new_rotation_templates#tag_prefix]]+Однако тут есть нюанс: если в деске окажется ковычка, то получится что-то вроде <?php echo strtoupper('masha's super pic')?> те незакрытая ковычка и выскочит ошибка пхп. По этой причине такой вариант "в лоб" можно использовать только если вы уверены, что во фразе не будет ковычки (напрмиер урл гали ?). В остальных случаях надо пользоваться тн префиксы  [[new_rotation_templates#tag_prefix]]
  
 <code>     <code>    
Line 906: Line 906:
  {  {
  'action': 'add_comment',  'action': 'add_comment',
- 'content_id': '<!--GALLERY_ID-->',+ 'gallery_id': '<!--GALLERY_ID-->',
  'captcha': $('#captcha').val(),  'captcha': $('#captcha').val(),
  'username': $('#username').val(),  'username': $('#username').val(),
Line 1153: Line 1153:
 <code> <code>
 <?php <?php
-header('Content-Type: application/xml');+header('Content-Type: application/json');
 ?>{ ?>{
 "query":"<!--ESCAPED_GET_QUERY-->", "query":"<!--ESCAPED_GET_QUERY-->",
Line 1427: Line 1427:
  
  
-==== Friendly tube ====+===== Friendly tube =====
  
 Для контент сайтов на одной базе (мастер слейв)  есть вариант организации трейдера между собой, когда серфер видит контент но уже на другом сайте сети.  Для контент сайтов на одной базе (мастер слейв)  есть вариант организации трейдера между собой, когда серфер видит контент но уже на другом сайте сети. 
  
-Например, юзер кликает на http://domain1.com/gallery/gallery_slug/index.html но скрипт по скиму решает послать его на трейд. В этом случае юзер не видит галеру. Если мы его отправляем на другой сайт нашей сети мы можем показать ему галеру, но уже на другом домене. +Например, юзер кликает на http://domain1.com/gallery/gallery_slug/index.html, но скрипт по скиму решает послать его на трейд. В этом случае юзер не видит галеру. Если мы его отправляем на другой сайт нашей сети мы можем показать ему галеру, но уже на другом домене. 
  
-Это положительно сказывается на проде исходного сайта (человек хотел увидеть мувик - он его увидел), а так же дает возможность вокруг самого эмбеда показать другие тумбы = сервер может кликнуть на эти тумбы на сайте трейдера.+Это положительно сказывается на проде исходного сайта (человек хотел увидеть мувик - он его увидел), а так же дает возможность вокруг самого эмбеда показать другие тумбы = серфер может кликнуть на эти тумбы на сайте трейдера.
  
-Для этого на сайте domain1.com для трейдера domain2.com указываем тип сайта - Friendly Tube. В этом случае, если скрипт решает послать на этого трейдера, то скрипт будет пересылать трейдеру slug галеры. Конечно только  в том случае, если редирект на терйдера произошел при клике на контент, а не в топлисте. Те скрипт пошлет на просто на http://domain2.com/ , а добавит к урлу  http://domain2.com/?try&slug=super_gallery.  +Для этого на сайте domain1.com для трейдера domain2.com указываем тип сайта - Friendly Tube. В этом случае, если скрипт решает послать на этого трейдера, то скрипт будет пересылать трейдеру slug галеры. Конечно только  в том случае, если редирект на трейдера произошел при клике на контент, а не в топлисте. Те скрипт пошлет на просто на http://domain2.com/ , а добавит к урлу  http://domain2.com/?try&slug=super_gallery.  
  
 На domain2.com, если конечно там так же стоит SmartCJ, скрипт видит этот слаг и открывает не индекс сайта, а редиректит на урл Try Param Redirect URL, который выглядит примерно как  На domain2.com, если конечно там так же стоит SmartCJ, скрипт видит этот слаг и открывает не индекс сайта, а редиректит на урл Try Param Redirect URL, который выглядит примерно как 
Line 1448: Line 1448:
  
 Если на сайте трейдера не будет галеры с данным ИД - получится просто индекс Если на сайте трейдера не будет галеры с данным ИД - получится просто индекс
- 
  
  
Line 1707: Line 1706:
 <? } else { ?> <? } else { ?>
  
-<thumb num=1-10 zero_items_to_404=off> .... +<thumb num=1-10 zero_items_to_404=off page_main_tag=true> .... 
 выводим тумбы как обычно в поиске  выводим тумбы как обычно в поиске 
  
Line 1878: Line 1877:
 Как сделать: простой вариант что бы было понятно Как сделать: простой вариант что бы было понятно
  
-1. при переходе на трейдера нам надо знать какую галеру показать, для этого в параметрах аута должен быть ИД галеры , например+1. на сайте А серфер кликнул на галеру 12345, при переходе на трейдера (сайь Б) нам надо сайту Б дать знать какую галеру показать первой (ид 12345).  для этого в параметрах аута должен быть ИД галеры по которой кликнули , например
  
 <code> <code>
Line 1886: Line 1885:
 </code> </code>
  
-как видно тут на аут передается параметр show_gallery_id=, урлы будут out.php?show_gallery_id=12345+как видно тут на аут передается параметр show_gallery_id=, урлы будут вида out.php?show_gallery_id=12345
  
-2. У трейдера (только тех которые на одной базе и буду поддерживать эту фичу , делаем урл +2. На сайте А меняем урл трейдера (сайт Б) (только тех которые на одной базе и буду поддерживать эту фичу)
  
   http://trader/?first_gallery_id={GET_show_gallery_id}   http://trader/?first_gallery_id={GET_show_gallery_id}
  
  
-тут надо отметить появление {GET_show_gallery_id} - те при переходе к трейдеру этот параметр  будет заменен на то что передано ауту, и к трейдеру пойдет http://trader/?first_gallery_id=12345 +тут надо отметить появление {GET_show_gallery_id} из пункта 1, те при переходе к трейдеру этот параметр  будет заменен на то что передано ауту, и к трейдеру пойдет http://trader/?first_gallery_id=12345 
  
  
Line 1912: Line 1911:
  
 Все. Все.
 +
 +
 +
 +===== Rotate for Rows =====  
 +
 +Есть полезная опция ротации
 +
 +  Rotate page for raws
 +  ie if surfer visits us for a second time - show him second page instead of the first one 
 +
 +
 +те если серфер заходит на индекс сайта, то мы автоматически можем менять параметр &page=, те при первом заходе юзер видит фактически &page=1, при втором (когда юзер уже не уник) &page=2 - те если у вас на индексе выводятся просто тумбы 
 +
 +  <thumb num=1-10>
 +  
 +то при первом заходе юзер увидит тумбы 1-10, при 2м тумбы номер 11 - 20.
 +
 +
 +**Если же у вас на индексе тумбы категорий** то ситуация другая и есть 2 варианта
 +
 +1. если у вас например всего 100 категорий, а вы выводите на индексе 50 
 +
 +  <category num=1-50 adjust_num_to_page=true
 +  
 +
 +то на первый заход будут категории  1 - 50, а на второй 51 - 100
 +
 +
 +
 +2. если у вас всего 100 категорий и вы выодите все 100 на индексе
 +
 +  <category num=1-100
 +
 +
 +в этой ситуации что бы показать другие тумбы надо создать дополнительный комплект тумб категорий. Для этого в сетингах ротации Category thumbs - включаем set 2 (и например еще и set 3).  У нас получается 3 комплекта тумб категорий.
 +
 +
 +в темплейте добавляем номер сета 
 +
 +
 +  <category order=clicks num=1-10 set_id=GET_page>
 +  <!--CATEGORY_NAME--> <!--THUMB_URL--> <br>
 +  </category>
 +
 +
 +тут надо обратить внимание на set_id=GET_page. И скрипт будет ротировать 3 сета тумб категорий.
 +
 +
 +===== Custom Vars for Ads =====  
 +
 +Если используется один и тот же код для вставки рекламы то я часто вижу что-то вроде 
 +
 +1. создаем темплейт ads в котором 
 +
 +$ads = '<a href= .. > <img = .. ';
 +
 +2. в темплейтах страниц  добавляется в разных местах 
 +
 +<?=ads?>
 +
 +
 +Проблема в том
 +
 +  - код не кешируется и пхп исполняется каждый раз (такой простой код не особенно добавляет нагрузку, но все же)
 +  - если надо поменять рекламу то надо ходить по сайтам и редактировать темплейт, что не совсем удобно
 +  - клиент может отредактировать на что-то вроде $ads = 'Today's Deal! ';  , получить ошибку пхп из-за неправильных кавычек 
 +
 +
 +Если использовать Rotation - CMS -TPL Custom var то можно
 +
 +  - получить переменные для темпелйта в виде <!--CUSTOM_VAR_MY_VAR1-->  тагов которые кешируются
 +  - Там же можно редактировать эти кастом таги сразу на всем нетворке. Причем как все сразу так и отдельные таги.
 +  - нет проблем с кавычками
 +
 +
 +
 +===== Related From Another Domain  =====  
 +
 +Можно добавлять трафик для своих новых доменов если например инклудить линка на галеры на своих доменах с траффиком, например
 +
 +  * у вас есть домен А где много траффика
 +  * есть новый домен Б 
 +  * на домене Б делаем темплейт вида
 +
 +<code>
 +
 +<thumb num=1-5>
 +    <a href="http://domain_B/<!--GALLERY_SLUG-->/index.html"> <!--THUMB_URL--> </a>
 +</thumb>
 +
 +</code>
 +
 +
 +  * и показываем темпелйт на домене А например как 
 +
 +  <iframe src="http://domain_B/?force_template=test" width="600" height="400"></iframe>
 +  
 +  
 +Таким образом на домене А будут линки сразу на галеры с домена Б плюс тумбы с домена Б начнут получать цтр.
 +
 +
 +===== Sphinx Related Search  =====  
 +
 +Расширенные поиск с синонимами. Например, пользователь ищет "машина", но в базе у нас написано "авто", тк описания не совпадают - они не будут найдены. С Sphinx есть синонимы, которые решают эту проблему.
 +
 +1. собираем поисковые фразы и составляем список вида
 +
 +слово1 => синоним1
 +слово2 => синоним2 | синоним3
 +
 +2. добавляем его в сфинкс 
 +
 + wordforms = /path/to/your/synonyms.txt
 +
 +3. все, сфинкс сможет искать с учетом синонимов.
 +
 +
 +===== Related Search Queries =====  
 +
 +Тестовый вариант.
 +
 +Пользователь ищет на сайте "авто", а после этого ищет "прицеп". Либо после "авто", ищет "бензин". 
 +Это не синонимы, но мы понимаем что это близкие поиски, которые могут заинтерисовать пользователя.
 +
 +В следующий раз когда пользатель будет искать "авто", мы не только покажем ему "авто", но можем вывести "а может вы так же хотите прицеп и бензин".
 +
 +Сделаем базово на фиче search_query_limit.
 +
 +1. В темплейте поиска надо добавить параметр, который учитывает искал ли пользоватль что-то до этого.
 +
 +Например, пользователь пришел на страницу http://domain/?search=auto , в это случае если пользователь снова ищет что-то (прицеп), то надо сформировать урл как http://domain/?search=**прицеп**&search_query_limit=**auto**.
 +
 +Таким образом вы даете понять что "прицеп" и "авто" - это связанные поиски.
 +
 +
 +2. Вывести связанные поиски (content_search)
 +
 +<code>
 +
 +<search_log filter=GET_search search_query_field=search_query_limit allow_dupes=true num=1-10>
 +    <!--SEARCH_QUERY--> <br>
 +</search_log>
 +
 +filter=GET_search  - выводим поисковые запросы со словом по которому искали сейчас
 +
 +search_query_field=search_query_limit - выводим "связанные поиски", а не сами поисковые запросы
 +
 +
 +</code>
ru/new_rotation_hints.1674141229.txt.gz · Last modified: by admin