Помогите понять, разбираюсь в чужой теме...
в файле page.tpl.php есть условие
if (isset($page['content']['system_main']['nodes'][arg(1)]['#node']->type) and $page['content']['system_main']['nodes'][arg(1)]['#node']->type == 'product' or empty($page['sidebar_right']) or (arg(0) == 'node' and arg(1) == 'add') or (arg(0) == 'admin' and arg(2) != 'block')) {
Кто то поможет студенту?
собственно я хочу понять что значит :
$page['content']['system_main']['nodes'][arg(1)]['#node']->type
empty($page['sidebar_right'])
(arg(0) == 'node' and arg(1) == 'add')
(arg(0) == 'admin' and arg(2) != 'block')
Спасибо
Комментарии
Возьмите биту и огрейте как следует этого писаку кода )))
$page['content']['system_main']['nodes'][arg(1)]['#node']->type
- хз, какое-то значение в переменной, которое содержит тип ноды по аргументу в адресе
empty($page['sidebar_right']) - проверка на присутствие сайдбара(правой колонки в шаблоне)
(arg(0) == 'node' and arg(1) == 'add') - проверка является ли страница страницей добавления ноды
(arg(0) == 'admin' and arg(2) != 'block') - проверка является ли страница админкой блоков
так, тогда мне все еще интересно, это условие выполняется на главной странице...
$page['content']['system_main']['nodes'][arg(1)]['#node']->type
т.е. откуда там нода, чет как то непонятно
а загадочное arg(1) это примерно где искать?
arg(1) - это второй аргумент в адресе страницы
страница: site.ru/node/add
будет иметь:
arg(0) - node
arg(1) - add
перед этим условием введите:
<?php
drupal_set_message("<pre>".print_r($page['content']['system_main']['nodes'])."<pre>");
?>
и посмотрите содержимое этого массива.
ладно фиг с ним, как мне написать условие если это не нода с типом product то ...
спасибо
<?php
if ($node->type != 'product') {
//кот
}
?>
спасибо