[Решено] Помогите разобрать в коде, темихация page.tpl.php Drupal commerce

Главные вкладки

Аватар пользователя АлександрБолт АлександрБолт 23 августа 2012 в 15:33

Помогите понять, разбираюсь в чужой теме...
в файле 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')

Спасибо

Комментарии

Аватар пользователя divined divined 23 августа 2012 в 15:39

Возьмите биту и огрейте как следует этого писаку кода )))

$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') - проверка является ли страница админкой блоков

Аватар пользователя АлександрБолт АлександрБолт 23 августа 2012 в 15:52

так, тогда мне все еще интересно, это условие выполняется на главной странице...

$page['content']['system_main']['nodes'][arg(1)]['#node']->type

т.е. откуда там нода, чет как то непонятно

Аватар пользователя divined divined 23 августа 2012 в 15:58

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>");
?>

и посмотрите содержимое этого массива.