Sign in to follow this  
cyklop77

непонятный notice

Recommended Posts

у меня вопрос по обработке php друпалом7

в файле node.tpl.php я через include('width.php') делаю проверку переменной таким кодом


<?php
//krumo($node);

if(($field_width[0]['value'] == 1) or
($field_width1[0]['value'] == 1) or
($field_width2[0]['value'] == 1) or
($field_width3[0]['value'] == 1) or
($field_width4[0]['value'] == 1) or
($field_width5[0]['value'] == 1) or
($field_width6[0]['value'] == 1)){
echo('<script>
jQuery("#content").css("width", "100%");
jQuery("#content .field-item > table").css("width", "100%");
</script>');
}
else{ }
?>

обычно из всех перечисленных переменных на странице существует только одна. проблема в том, что друпал выводит примерно такое сообщение о некритической ошибке

Notice: Undefined variable: field_width1 в функции include() (строка 5 в файле /usr/home/server1/domains/bla.ru/public_html/sites/all/themes/kibmak/width.php).

Notice: Undefined variable: field_width2 в функции include() (строка 6 в файле /usr/home/server1/domains/bla.ru/public_html/sites/all/themes/kibmak/width.php).

Notice: Undefined variable: field_width3 в функции include() (строка 7 в файле /usr/home/server1/domains/bla.ru/public_html/sites/all/themes/kibmak/width.php).

Notice: Undefined variable: field_width4 в функции include() (строка 8 в файле /usr/home/server1/domains/bla.ru/public_html/sites/all/themes/kibmak/width.php).

Notice: Undefined variable: field_width5 в функции include() (строка 9 в файле /usr/home/server1/domains/bla.ru/public_html/sites/all/themes/kibmak/width.php).

Notice: Undefined variable: field_width6 в функции include() (строка 10 в файле /usr/home/server1/domains/bla.ru/public_html/sites/all/themes/kibmak/width.php).

подскажите пожалуйста как от него избавиться. или какую альтернативную конструкцию можно использовать для проверки переменных

Edited by cyklop77

Share this post


Link to post
Share on other sites

обычно из всех перечисленных переменных на странице существует только одна. проблема в том, что друпал выводит примерно такое сообщение о некритической ошибке

Ну всё правильно, переменная не определена, по этому сравнивать с ней ничего нельзя. Для начала проверьте наличие переменной.


<?php
//krumo($node);
if((isset($field_width[0]['value']) and $field_width[0]['value'] == 1) or
(isset($field_width1[0]['value']) and $field_width1[0]['value'] == 1) or
(isset($field_width2[0]['value']) and $field_width2[0]['value'] == 1) or
(isset($field_width3[0]['value']) and $field_width3[0]['value'] == 1) or
(isset($field_width4[0]['value']) and $field_width4[0]['value'] == 1) or
(isset($field_width5[0]['value']) and $field_width5[0]['value'] == 1) or
(isset($field_width6[0]['value']) and $field_width6[0]['value'] == 1)){
echo('<script>
jQuery("#content").css("width", "100%");
jQuery("#content .field-item > table").css("width", "100%");
</script>');
}
else{ }
?>

Хотя правильней будет предварительно инициализировать переменную (то есть давать ей пустое значение).

Edited by deadrash

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
Sign in to follow this  

  • Member Statistics

    46,699
    Total Members
    3,128
    Most Online
    Dmitry3258
    Newest Member
    Dmitry3258
    Joined
  • Recently Browsing   0 members

    No registered users viewing this page.