Сайт не работает корректно на хостинге

Аватар пользователя leha373 leha373 28 февраля в 17:02

Ребят нужна помощь
Не пойму в чем дело?!На локалке страница отображается как нужно.
часть кода: node--realty.tpl.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'): ?>

   if ($content['field_ipoteka']['#items']['0']['value']=='1') {print render($content['field_ipoteka']);} ?>
 if ($content['field_realty_novostroy']['#items']['0']['value']=='1') {print render($content['field_realty_novostroy']);} ?>
 if ($content['field_realty_bestprice']['#items']['0']['value']=='1') {print render($content['field_realty_bestprice']);} ?>

endif; ?>
if ($title_prefix || $title_suffix || $display_submitted || $unpublished || !$page && $title): ?>
   

      print render($title_prefix); ?>
      if (!$page && $title): ?>
        print $title_attributes; ?>> print $node_url; ?>"> print $title; ?>
      endif; ?>
      print render($title_suffix); ?>

      if ($unpublished): ?>
        print t('Unpublished'); ?>
      endif; ?>
   


  endif; ?>
 
Общая информация


 
    print render($content);
  ?>

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'): ?>


Дополнительная информация

   if ($content['field_fridge']['#items']['0']['value']=='1') {print render($content['field_fridge']);} ?>
 if ($content['field_tv']['#items']['0']['value']=='1') {print render($content['field_tv']);} ?>
 if ($content['field_washing_machine']['#items']['0']['value']=='1') {print render($content['field_washing_machine']);} ?>
 if ($content['field_dishwasher']['#items']['0']['value']=='1') {print render($content['field_dishwasher']);} ?>
 if ($content['field_conditioner']['#items']['0']['value']=='1') {print render($content['field_conditioner']);} ?>
 if ($content['field_can_be_with_animals']['#items']['0']['value']=='1') {print render($content['field_can_be_with_animals']);} ?>
 if ($content['field_can_be_with_children']['#items']['0']['value']=='1') {print render($content['field_can_be_with_children']);} ?>
 if ($content['field_balcony']['#items']['0']['value']=='1') {print render($content['field_balcony']);} ?>
 if ($content['field_loggia']['#items']['0']['value']=='1') {print render($content['field_loggia']);} ?>
 if ($content['field_internet']['#items']['0']['value']=='1') {print render($content['field_internet']);} ?>
 if ($content['field_parking']['#items']['0']['value']=='1') {print render($content['field_parking']);} ?>
 if ($content['field_furniture_in_rooms']['#items']['0']['value']=='1') {print render($content['field_furniture_in_rooms']);} ?>
 if ($content['field_kitchen_furniture']['#items']['0']['value']=='1') {print render($content['field_kitchen_furniture']);} ?>

endif; ?>

отображение на локалке

отображение на хостинге

все поля одиночный флаг
в чем может быть проблема?

0 Thanks

Комментарии

Аватар пользователя leha373 leha373 28 февраля в 18:11
 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; ?>

Аватар пользователя sas@drupal.org sas@drupal.org 1 марта в 7:20

Для начала сравнить версии PHP, окружение, настройки переменных, настройки кеширования выдачи на друпале и сжатия js и css.

Аватар пользователя remmor remmor 1 марта в 18:38

ну для начала у вас разная информация на локалке и на хостинге( причем на хостинге больше) - может быть для начала её унифицируете, а потом сюда выкладывать будете? А то так и не понять, что не нравится то, че не так тут?

Аватар пользователя leha373 leha373 1 марта в 19:41

код один и там и там
я переделал на хостинге показ полей
Дополнительная информация
---это не выводится почему то
может конечно не работает php d html на хостинге.... ну фиг знает

Аватар пользователя leha373 leha373 21 марта в 2:44

ребят!на эту строчку в коде
<?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 выдает ошибки

Аватар пользователя Semantics Semantics 21 марта в 2:57
1

Даже до наиболее удалённой от нас галактики из ближайших - и то ближе, чем этому коду до стандартов принятых в друпале.

Сообственно, врядли найдётся кто-то, кто сможет сообразить, что не так в этом коде, не имея под рукой сайта, настроенного дебагера и оплаченного рабочего времени.

Если нет опыта в дебаге, то разбивайте эти дикие if-ы на разные строчки, определяйте в какой переменной у вас пустота.
Переписывайте на нормальный вид или хотя бы, добавляйте проверки на существование переменных.
Как минимум, какой-то переменной у вас всё же нет.

Почему - не знаю, я вашего сайта не видел, может потому что вы на хостинге смотрите от анонима и ему запрещен показ поля, а у себя на сервере - от админа, потому и разное происходит.

Аватар пользователя Orion76 Orion76 21 марта в 8:31

Хотябы как-то так:

<?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.. блин, фильтр код корежит

Аватар пользователя Orion76 Orion76 22 марта в 4:00

Это не "стиль программирования", а демонстрация одного из способов распутать "тот ужас"..
Но если есть желание показать автору "как надо", так кто ж против то?-)

Аватар пользователя gun_dose gun_dose 21 марта в 9:47

В нашем дворе пацаны обычно вот так делают:

<?php
if (isset($content['field_fridge']['#items'])) {
  
// бла-бла-бла.
}
?>
Аватар пользователя leha373 leha373 21 марта в 23:26

ну как тогда правильно написать:
есть логические поля -- 'field_fridge', 'field_tv', 'field_washing_machine', 'field_dishwasher', .....
если равно 1 то вывожу поле(то есть стоит галочка при добавлении материала)
если равно 0 то скрываю поле (то есть не стоит галочка при добавлении материала)
я так понимаю сначала все скрываю hide-ом, а дальше...???

Аватар пользователя zvendelo zvendelo 25 марта в 16:57

А зачем проверять сначала наличие хотя бы одного поля в обёртке, а потом, выводя каждое отдельное поле ещё раз перепроверять... бред какой то и избыточность.

Аватар пользователя leha373 leha373 25 марта в 18:30

сначала проверяю если хотя бы у одного поля стоит галочка(1) то дальше проверяется если галочка(1) то вывожу поле если нет то не вывожу .и если в начале не у одного поля нет(1) то вообще весь блок не вывожу