Ребят нужна помощь
Не пойму в чем дело?!На локалке страница отображается как нужно.
часть кода: node--realty.tpl.php
<div class="clearobj dopparamobj">
<?php if ($content['field_ipoteka']['#items']['0']['value']=='1') {print render($content['field_ipoteka']);} ?>
<?php if ($content['field_realty_novostroy']['#items']['0']['value']=='1') {print render($content['field_realty_novostroy']);} ?>
<?php if ($content['field_realty_bestprice']['#items']['0']['value']=='1') {print render($content['field_realty_bestprice']);} ?>
</div>
<?php endif; ?>
<?php if ($title_prefix || $title_suffix || $display_submitted || $unpublished || !$page && $title): ?>
<header>
<?php print render($title_prefix); ?>
<?php if (!$page && $title): ?>
<h2<?php print $title_attributes; ?>><a href="<?php print $node_url; ?>"><?php print $title; ?></a></h2>
<?php endif; ?>
<?php print render($title_suffix); ?>
<?php if ($unpublished): ?>
<mark class="unpublished"><?php print t('Unpublished'); ?></mark>
<?php endif; ?>
</header>
<?php endif; ?>
<div class="objtitle">Общая информация<br></div>
<div class="clearobj objcontent">
<?php
print render($content);
?>
</div>
<?php if ($content['field_fridge']['#items']['0']['value']=='1' || $content['field_tv']['#items']['0']['value']=='1' || $content['field_washing_machine']['#items']['0']['value']=='1' || $content['field_dishwasher']['#items']['0']['value']=='1' || $content['field_conditioner']['#items']['0']['value']=='1' || $content['field_can_be_with_animals']['#items']['0']['value']=='1' || $content['field_can_be_with_children']['#items']['0']['value']=='1' || $content['field_balcony']['#items']['0']['value']=='1' || $content['field_loggia']['#items']['0']['value']=='1' || $content['field_internet']['#items']['0']['value']=='1' || $content['field_parking']['#items']['0']['value']=='1' || $content['field_furniture_in_rooms']['#items']['0']['value']=='1' || $content['field_kitchen_furniture']['#items']['0']['value']=='1'): ?>
<div class="clearobj objcontent">
<div class="objtitle">Дополнительная информация<br></div>
<?php if ($content['field_fridge']['#items']['0']['value']=='1') {print render($content['field_fridge']);} ?>
<?php if ($content['field_tv']['#items']['0']['value']=='1') {print render($content['field_tv']);} ?>
<?php if ($content['field_washing_machine']['#items']['0']['value']=='1') {print render($content['field_washing_machine']);} ?>
<?php if ($content['field_dishwasher']['#items']['0']['value']=='1') {print render($content['field_dishwasher']);} ?>
<?php if ($content['field_conditioner']['#items']['0']['value']=='1') {print render($content['field_conditioner']);} ?>
<?php if ($content['field_can_be_with_animals']['#items']['0']['value']=='1') {print render($content['field_can_be_with_animals']);} ?>
<?php if ($content['field_can_be_with_children']['#items']['0']['value']=='1') {print render($content['field_can_be_with_children']);} ?>
<?php if ($content['field_balcony']['#items']['0']['value']=='1') {print render($content['field_balcony']);} ?>
<?php if ($content['field_loggia']['#items']['0']['value']=='1') {print render($content['field_loggia']);} ?>
<?php if ($content['field_internet']['#items']['0']['value']=='1') {print render($content['field_internet']);} ?>
<?php if ($content['field_parking']['#items']['0']['value']=='1') {print render($content['field_parking']);} ?>
<?php if ($content['field_furniture_in_rooms']['#items']['0']['value']=='1') {print render($content['field_furniture_in_rooms']);} ?>
<?php if ($content['field_kitchen_furniture']['#items']['0']['value']=='1') {print render($content['field_kitchen_furniture']);} ?>
</div>
<?php endif; ?>
отображение на локалке
отображение на хостинге
все поля одиночный флаг
в чем может быть проблема?
Комментарии
<?php if ($content['field_realty_novostroy']['#items']['0']['value']=='1') {print render($content['field_realty_novostroy']);} ?>
<?php if ($content['field_realty_bestprice']['#items']['0']['value']=='1') {print render($content['field_realty_bestprice']);} ?>
</div>
<?php endif; ?>
<?php if ($title_prefix || $title_suffix || $display_submitted || $unpublished || !$page && $title): ?>
<header>
<?php print render($title_prefix); ?>
<?php if (!$page && $title): ?>
<h2<?php print $title_attributes; ?>><a href="<?php print $node_url; ?>"><?php print $title; ?></a></h2>
<?php endif; ?>
<?php print render($title_suffix); ?>
<?php if ($unpublished): ?>
<mark class="unpublished"><?php print t('Unpublished'); ?></mark>
<?php endif; ?>
</header>
<?php endif; ?>
<div class="objtitle">Общая информация<br></div>
<div class="clearobj objcontent">
<?php
print render($content);
?>
</div>
<?php if ($content['field_fridge']['#items']['0']['value']=='1' || $content['field_tv']['#items']['0']['value']=='1' || $content['field_washing_machine']['#items']['0']['value']=='1' || $content['field_dishwasher']['#items']['0']['value']=='1' || $content['field_conditioner']['#items']['0']['value']=='1' || $content['field_can_be_with_animals']['#items']['0']['value']=='1' || $content['field_can_be_with_children']['#items']['0']['value']=='1' || $content['field_balcony']['#items']['0']['value']=='1' || $content['field_loggia']['#items']['0']['value']=='1' || $content['field_internet']['#items']['0']['value']=='1' || $content['field_parking']['#items']['0']['value']=='1' || $content['field_furniture_in_rooms']['#items']['0']['value']=='1' || $content['field_kitchen_furniture']['#items']['0']['value']=='1'): ?>
<div class="clearobj objcontent">
<div class="objtitle">Дополнительная информация<br></div>
<?php if ($content['field_fridge']['#items']['0']['value']=='1') {print render($content['field_fridge']);} ?>
<?php if ($content['field_tv']['#items']['0']['value']=='1') {print render($content['field_tv']);} ?>
<?php if ($content['field_washing_machine']['#items']['0']['value']=='1') {print render($content['field_washing_machine']);} ?>
<?php if ($content['field_dishwasher']['#items']['0']['value']=='1') {print render($content['field_dishwasher']);} ?>
<?php if ($content['field_conditioner']['#items']['0']['value']=='1') {print render($content['field_conditioner']);} ?>
<?php if ($content['field_can_be_with_animals']['#items']['0']['value']=='1') {print render($content['field_can_be_with_animals']);} ?>
<?php if ($content['field_can_be_with_children']['#items']['0']['value']=='1') {print render($content['field_can_be_with_children']);} ?>
<?php if ($content['field_balcony']['#items']['0']['value']=='1') {print render($content['field_balcony']);} ?>
<?php if ($content['field_loggia']['#items']['0']['value']=='1') {print render($content['field_loggia']);} ?>
<?php if ($content['field_internet']['#items']['0']['value']=='1') {print render($content['field_internet']);} ?>
<?php if ($content['field_parking']['#items']['0']['value']=='1') {print render($content['field_parking']);} ?>
<?php if ($content['field_furniture_in_rooms']['#items']['0']['value']=='1') {print render($content['field_furniture_in_rooms']);} ?>
<?php if ($content['field_kitchen_furniture']['#items']['0']['value']=='1') {print render($content['field_kitchen_furniture']);} ?>
</div>
<?php endif; ?>
Для начала сравнить версии PHP, окружение, настройки переменных, настройки кеширования выдачи на друпале и сжатия js и css.
ну для начала у вас разная информация на локалке и на хостинге( причем на хостинге больше) - может быть для начала её унифицируете, а потом сюда выкладывать будете? А то так и не понять, что не нравится то, че не так тут?
код один и там и там
я переделал на хостинге показ полей
---это не выводится почему то
может конечно не работает php d html на хостинге.... ну фиг знает
заголовок не выводится , а заголовок общая информация выводится
ребят!на эту строчку в коде
<?php if ($content['field_fridge']['#items']['0']['value']=='1' || $content['field_tv']['#items']['0']['value']=='1' || $content['field_washing_machine']['#items']['0']['value']=='1' || $content['field_dishwasher']['#items']['0']['value']=='1' || $content['field_conditioner']['#items']['0']['value']=='1' || $content['field_can_be_with_animals']['#items']['0']['value']=='1' || $content['field_can_be_with_children']['#items']['0']['value']=='1' || $content['field_balcony']['#items']['0']['value']=='1' || $content['field_loggia']['#items']['0']['value']=='1' || $content['field_internet']['#items']['0']['value']=='1' || $content['field_parking']['#items']['0']['value']=='1' || $content['field_furniture_in_rooms']['#items']['0']['value']=='1' || $content['field_kitchen_furniture']['#items']['0']['value']=='1'): ?>
выдает ошибку
Notice: Undefined index: #items в функции include() (строка 88 в файле /var/www/u0638127/data/www/domhata.ru/sites/all/themes/zen/templates/node--realty.tpl.php).
поля все есть!
на эту:
<?php if ($content['field_ipoteka']['#items']['0']['value']=='1' || $content['field_realty_novostroy']['#items']['0']['value']=='1' || $content['field_realty_bestprice']['#items']['0']['value']=='1'): ?>
ошибок нет!!!
в чем может быть проблема???вообще не сооброжу!! код находится выше
и на локалке openserver работает без ошибок
на хосте reg.ru выдает ошибки
Даже до наиболее удалённой от нас галактики из ближайших - и то ближе, чем этому коду до стандартов принятых в друпале.
Сообственно, врядли найдётся кто-то, кто сможет сообразить, что не так в этом коде, не имея под рукой сайта, настроенного дебагера и оплаченного рабочего времени.
Если нет опыта в дебаге, то разбивайте эти дикие if-ы на разные строчки, определяйте в какой переменной у вас пустота.
Переписывайте на нормальный вид или хотя бы, добавляйте проверки на существование переменных.
Как минимум, какой-то переменной у вас всё же нет.
Почему - не знаю, я вашего сайта не видел, может потому что вы на хостинге смотрите от анонима и ему запрещен показ поля, а у себя на сервере - от админа, потому и разное происходит.
Хотябы как-то так:
<?php
function getValue($fields_values,$field){
try{
$value= $fields_values[$field]['#items']['0']['value'];
}catch($e){ }
return
$value;}
function
isAllValues($fields_values){$fields=[
'field_fridge',
'field_tv',
'field_washing_machine',
'field_dishwasher',
'field_conditioner',
'field_can_be_with_animals',
'field_can_be_with_children',
'field_balcony',
'field_loggia',
'field_internet',
'field_parking',
'field_furniture_in_rooms',
'field_kitchen_furniture'
]
foreach(
$fields as $field){if(getValue($fields_values,$field)==FALSE){
return FALSE;
}
}
return
TRUE;}
if (
isAllValues($content)){// ... Какой-то КОД ...
} ?>
PS.. блин, фильтр код корежит
/facepalm
Еще в шаблон это запихать и само то будет!
Твой стиль кодирования очень далёк от стандартов друпала)
Это не "стиль программирования", а демонстрация одного из способов распутать "тот ужас"..
Но если есть желание показать автору "как надо", так кто ж против то?-)
Проверить стили и содержание html например через ctrl+ U
В нашем дворе пацаны обычно вот так делают:
<?php
if (isset($content['field_fridge']['#items'])) {
// бла-бла-бла.
}
?>
ну как тогда правильно написать:
есть логические поля -- 'field_fridge', 'field_tv', 'field_washing_machine', 'field_dishwasher', .....
если равно 1 то вывожу поле(то есть стоит галочка при добавлении материала)
если равно 0 то скрываю поле (то есть не стоит галочка при добавлении материала)
я так понимаю сначала все скрываю hide-ом, а дальше...???
А зачем проверять сначала наличие хотя бы одного поля в обёртке, а потом, выводя каждое отдельное поле ещё раз перепроверять... бред какой то и избыточность.
сначала проверяю если хотя бы у одного поля стоит галочка(1) то дальше проверяется если галочка(1) то вывожу поле если нет то не вывожу .и если в начале не у одного поля нет(1) то вообще весь блок не вывожу