| Dr2005alex | 
					 | 
			
|---|---|
| 
					 И пришла идея начать доработку текущего XTemplate. И так, если коротко, выкладываю для тестов обновленный в некоторых местах XTemplate Что изменилось: 
 Для нового функционала и поддержки старого, пришлось ввести новый вид тега. 
{CALL | функция | динамические аргументы через запятую | дополниельные функции}
Пример 
{CALL|cot_url('page','id=$0%&alias=$1%')|PAGE_ID,PAGE_ALIAS|htmlspecialchars}
Как из примера видно, я отказался от метки $this.(но старый вариан с $this я оставил и он тоже работает через {PHP.MYTAG|function($this)}) В данном примере создается ссылка, где параметр $0% будет заменен на значение тега PAGE_ID, а $1% на значение тега PAGE_ALIAS. Далее, результат выполнения функции передается в дополнительную функцию htmlspecialchars В динамических аргументах могут быть Теги и Глобальные переменные. Пример 
{CALL|cot_url('page','id=$0%&c=$1%')|PHP.pag.page_id,PHP.pag.page_cat}
$0% или $1% это порядковый номер динамического аргумента начиная с нуля. 
 Для тестов, просто разархивируйте файл. И замените текущий файл шаблонизатора cotemplate.php на файл из архива. Удачных тестов! И может еще идеи у кого будут... милости просим делиться. Файл: cotemplate_2.8.1.rar 
 WebKaa.ru  - Cotonti Relax 
					Dieser Beitrag wurde von Dr2005alex (am 6. Oktober 2018, 21:40, vor 7 Jahre) bearbeitet  | 
			
| prostogorod | 
					 | 
			
|---|---|
| 
					 Спасибо! Интересная идея! Буду тестировать...  | 
			
| Kopusha | 
					 | 
			
|---|---|
| 
					 То есть ничего старого не прекратит работать а просто появятся новые возможности? Added 13 minutes later: Сразу же отвалилась работа этого плагина (ошибки не бьет, но перестали кнопки показываться, я не рылся пока в коде, просто констатация) https://github.com/Freecer/freecer.net/tree/9ed2a2b190bafed2a02388785fee9d4d6ffe9eea/plugins/folioPagiButton Dieser Beitrag wurde von Kopusha (am 3. Oktober 2018, 20:16, vor 7 Jahre) bearbeitet  | 
			
| Dr2005alex | 
					 | 
			
|---|---|
					#43732 Kopusha: Было бы полезно узнать от чего отвалилось. Я естественно повторить ваш код не могу. Это биржа.. WebKaa.ru  - Cotonti Relax 
					 | 
			
| Kopusha | 
					 | 
			
|---|---|
| 
					 просто перестал генерировать в тпл https://github.com/Freecer/freecer.net/blob/9ed2a2b190bafed2a02388785fee9d4d6ffe9eea/plugins/folioPagiButton/folioPagiButton.setup.main.php#L11 
 вообще ничего. кода там 3 строчки и странно что перестало работать... вроде не должно... остальное пока что пашет.  | 
			
| Dr2005alex | 
					 | 
			
|---|---|
| 
					 Как вариант почистите кеш. WebKaa.ru  - Cotonti Relax 
					 | 
			
| Kopusha | 
					 | 
			
|---|---|
| 
					 кеш я чистил - не помогает тут у меня скорее спортивный интререс - я в том куцом коде плагина не могу понять ЧТО не проходит, там нечему не работать) но факт - просто ничего не отображается в самом тпл.  | 
			
| Dr2005alex | 
					 | 
			
|---|---|
					#43736 Kopusha: По идее правки были тока по вызову функции. 1) Есть просьба. Скажите какая версия PHP в у вас используется. 2) Откройте плиз файл шаблонизатора и поменяйте в 404 строке this на $this return $var->evaluate($this); Вот так будет. Отпишитесь, появилось ли все. Ах да, версия движка какая? 
 WebKaa.ru  - Cotonti Relax 
					Dieser Beitrag wurde von Dr2005alex (am 4. Oktober 2018, 17:29, vor 7 Jahre) bearbeitet  | 
			
| Kopusha | 
					 | 
			
|---|---|
| 
					 PHP engine version 5.6.37 2 пункт сделал кеш почистил и не помогло Нет функционала этого плагина и нет ошибок. При этом все остальное вроде как норм. Added 2 minutes later: Котонти и биржа самое последнее что есть. Added 1 minute later: PHP engine version 5.6.37 Zend engine version 2.6.0 Interface between webserver and PHP litespeed Cotonti Version 0.9.19 
  | 
			
| Dr2005alex | 
					 | 
			
|---|---|
| 
					 Тогда еще один тест. Скачиваем последнюю версию котонти и берем оттуда шаблонизатор на свой сайт. (заменяем файл шаблонизатора) Смотрим все ли работает? Если работает то я постараюсь найти в чем проблема в моих правках. Если нет, то ваша версия движка несовместима. WebKaa.ru  - Cotonti Relax 
					 | 
			
| Kopusha | 
					 | 
			
|---|---|
| 
					 Скачал дистрибут и заменил котемплейтпхп - появились ссылки на предыдущее и следующее фолио. https://ibb.co/g2PtPK Added 4 minutes later: на час отойду  | 
			
| Dr2005alex | 
					 | 
			
|---|---|
| 
					 Ага понял, есть косяк. Надо менять подход. Посмотримс.. Ps Спасибо за тест. WebKaa.ru  - Cotonti Relax 
					Dieser Beitrag wurde von Dr2005alex (am 5. Oktober 2018, 06:01, vor 7 Jahre) bearbeitet  | 
			
| Kopusha | 
					 | 
			
|---|---|
| 
					 
  | 
			
| Dr2005alex | 
					 | 
			
|---|---|
| 
					 Обновил концепцию, и обновил файл и описание в первом посте. Можно тестить. WebKaa.ru  - Cotonti Relax 
					 | 
			
| Kopusha | 
					 | 
			
|---|---|
| 
					 Пока все что работало со старым и с новым файлом работает. Added 2 weeks later: Подскажите как использовать Есть функция к примеру function cot_social_check_friend_plusmonth($userid, $friendid) Как написать запрос? {CALL|cot_social_check_friend_plusmonth('$0%','$1%')|PHP.usr.id,PHP.urr.user_id} как то так? Вроде бы так работает, но может что то усложнил? Added 33 minutes later: Вроде все работает идеально! Дополню примерами Было кастомная функция 
/** Исключаем из запроса историй этого же юзера саму себя **/
function get_item_user_and_id($item_id){
   global $db, $db_folio;
        $string = '';
        
		if($item_id){
			$string = $db->query("SELECT item_id FROM $db_folio WHERE item_id=".$item_id)->fetchColumn();
			$string = (int)$string;
		}
        
		if($item_id){
			$iuser = $db->query("SELECT item_userid FROM $db_folio WHERE item_id=".$item_id)->fetchColumn();
			$string .= " AND item_userid = $iuser";
		}
		return $string;
}
{PRD_ID|get_item_user_and_id($this)|cot_getfoliolist('from-user', 4, 'item_id!=$this', "item_rating_real DESC")} Стало одна строчка {CALL|cot_getfoliolist('from-user', 4, 'item_id!=$0% AND item_userid=$1%', "item_rating_real DESC")|PRD_ID,PRD_OWNER_ID} 
 Dieser Beitrag wurde von Kopusha (am 25. Oktober 2018, 08:10, vor 7 Jahre) bearbeitet  |