Задать вопрос
Sc0undRel
@Sc0undRel

Почему переменная пустая?

У меня есть во такой кусок кода из 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...
  • Вопрос задан
  • 189 просмотров
Подписаться 1 Оценить 5 комментариев
Решения вопроса 1
scherbuk
@scherbuk
из доки
В пределах методов класса доступ к нестатическим свойствам может быть получен с помощью -> (объектного оператора): $this->property
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы