Forumlar / National / Russian / Тех. поддержка / Как создать глобальную переменную?

Kopusha
#1 2017-12-24 07:56

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

						<!-- IF {PHP.item.item_rating} > 8.5 AND {PHP.ratings_count} > 20 AND {PHP.sys.now} - 302401 > {PHP.item.item_date} AND {PHP.sys.now} - 1296000 < {PHP.item.item_date} -->
Что то одно
		<!-- ENDIF -->				

				<!-- IF {PHP.item.item_rating} > 9 AND {PHP.ratings_count} > 50 AND {PHP.sys.now} - 1296001 > {PHP.item.item_date} AND {PHP.sys.now} - 15552000 < {PHP.item.item_date} -->
Что то второе
 <!-- ENDIF -->	

Вот эти циферки 8.5 или 20 из условий во всех местах должны
а. быть идентичными
б. легко меняться при необходимости
На данный момент надо руками в 20+ TPL это править - даже автозамена не работает.
Как создать где то тхт файл к примеру с 
small_item_rating = 8.5
small_rating_count = 20
medium_item_rating = 9
medium_rating_count = 50 и тд
Что бы в 1 месте поменял, а в условиях сделать как то так

 

<!-- IF {PHP.item.item_rating} > {PHP.small_item_rating} AND {PHP.ratings_count} > {PHP.small_rating_count } AND {PHP.sys.now} - 1296001 > {PHP.item.item_date} AND {PHP.sys.now} - 15552000 < {PHP.item.item_date} -->
Что то
 <!-- ENDIF -->

Или плагином. Пробовал использовать {PHP.cfg.menu1} но их мало и это через попу - там не указать что за что отвечает и надо писать шпаргалку. Менять значения будет девочка-менеджер. Ей что {PHP.cfg.menu3} что {PHP.cfg.freetext3}

Added 11 minutes later:

PS и очень хотелось бы что бы эта конструкция заработала в таком условии
 

{PHP|cot_getfoliolist('index', 25, 'UNIX_TIMESTAMP() - 43200 > item_date AND UNIX_TIMESTAMP() - 1296000 < item_date AND item_rating > 2' 'RAND()', '')}

{PHP.cfg.menu1} там не работает естественно.

Добавлено 5 часов спустя:

==============================

UPD

Написал я функцию
 

function flags_day_rating()
{
    $flags_day_rating = '8';
    return $flags_day_rating;
}

Теперь у меня {PHP|flags_day_rating} выдает везде 8. 

Как объеденить две переменные, ведь нет возможности прописать 

{PHP|flags_day_rating|cot_getfoliolist('index', 25, 'UNIX_TIMESTAMP() - 43200 > item_date AND UNIX_TIMESTAMP() - 1296000 < item_date AND item_rating > "this"''RAND()', '')}

 

Добавлено 12 минут спустя:

Разобрался - все работает

{PHP.flags_day_rating|cot_getfoliolist('temptodeletelateradmin', 1, 'UNIX_TIMESTAMP() - 43200 > item_date AND UNIX_TIMESTAMP() - 302400 < item_date AND item_rating > "$this"', "item_count DESC")}

Закрываем вопрос. Возможно кому то будет полезна информация.


Bu konu Kopusha tarafından düzenlendi(2017-12-24 14:10, 6 yıllar önce)
Macik
#2 2017-12-29 07:52

Свои функции лучше вынести в файл «пользовательских функций». См. соседнюю тему, там расписал.

https://github.com/macik
правильный хостинг — https://goo.gl/fjCa1F