У меня есть во такой кусок кода из Datalife.
При обращении к данной функции переменная $device оказывается пустой..
Поясните, пожалуйста, что это за запись $device = $this->desktop; ? Я слаб в php, что такое $this -> desktop? почему он пустой?
function check_device( $matches=array() ) {
$block = $matches[2];
$device = $this->desktop;
if ($matches[1] == "smartphone" OR $matches[1] == "tablet" OR $matches[1] == "desktop") $action = true; else $action = false;
if ($matches[1] == "smartphone" OR $matches[1] == "not-smartphone") $device = $this->smartphone;
if ($matches[1] == "tablet" OR $matches[1] == "not-tablet") $device = $this->tablet;
if( $action ) {
if( !$device ) return "";
} else {
if( $device ) return "";
}
return $block;
}
============================
опишу подробнее:
У меня дле 9.5, я пытаюсь внедрить кусок код от дле 10.6, а именно [tablet][/tablet], внутри которого должен отображаться текст только на планшетах.
В шаблоне я написал [tablet]тест[/tablet]
Проблема: этот текст у меня спрятан на всех устройствах, т.к. при обращении к function check_device переменным назначаются следующие значения:
$action = true
$device = false
а по логике кода при данных параметрах должен отдаваться return ""
И это на всех устройствах!
Я не могу понять, КАКОЙ КУСОК КОДА отвечает за определение устройства, с которого просматривается страница: комп, планшет, мобила??
https://github.com/Gordondalos/union/blob/da06053e...