Undefined offset: 1 in include() bei meiner Page.tpl.phjp
Eingetragen von Mystery (63)
am 10.02.2015 - 10:48 Uhr in
am 10.02.2015 - 10:48 Uhr in
Hallo Zusammen.
Ich habe meine Page template etwas umgeschrieben und bekomme nun folgende Fehler:
Notice: Undefined offset: 1 in include() (Zeile 146 von /customers/f/9/9/german-wilds.de/httpd.www/sites/all/themes/gerw_crew_page/page.tpl.php).
Notice: Undefined offset: 1 in include() (Zeile 157 von /customers/f/9/9/german-wilds.de/httpd.www/sites/all/themes/gerw_crew_page/page.tpl.php).
Notice: Undefined offset: 1 in include() (Zeile 165 von /customers/f/9/9/german-wilds.de/httpd.www/sites/all/themes/gerw_crew_page/page.tpl.php).
Zur Erklärung:
Ich habe einen Footer mit 3 Spalten. Diese sind mit einem Responsive grid aufgebaut. Ich möchte aber, je nach dem ob die Spalten angezeigt werden, oder nicht diese dennoch an der Vorgesehen Spalte angezeigt bekommen. Das dies geschieht, wird per CSS geregelt.
Allerdings möchte ich aber, dass meine Page Template das ganze Variable abprüft und habe dazu folgenden Code geschrieben:
<?php if ($page['footer_left' && 'footer_middle' && 'footer_right']):?>
<div class="grid-5 beta">
<?php print render($page['footer_left']); ?>
</div>
<div class="grid-6 border beta">
<?php print render($page['footer_middle']); ?>
</div>
<div class="grid-5 beta">
<?php print render($page['footer_right']); ?>
</div>
<?php endif ?>
<?php if ($page['footer_middle' && 'footer_right']):?>
<div class="grid-6 border middle_and_right_footer beta">
<?php print render($page['footer_middle']); ?>
</div>
<div class="grid-5 beta">
<?php print render($page['footer_right']); ?>
</div>
<?php endif ?>
<?php if ($page['footer_left' && 'footer_right']):?>
<div class="grid-5 border_right beta">
<?php print render($page['footer_left']); ?>
</div>
<div class="grid-5 border_left right_and_left_footer beta">
<?php print render($page['footer_right']); ?>
</div>
<?php endif ?>
<?php if ($page['footer_left']): ?>
<div class="grid-5 beta">
<?php print render($page['footer_left']); ?>
</div>
<?php endif ?>
<?php if ($page['footer_middle']): ?>
<div class="grid-6 border middle_and_right_footer beta">
<?php print render($page['footer_middle']); ?>
</div>
<?php endif ?>
<?php if ($page['footer_right']): ?>
<div class="grid-5 border_left right_footer beta">
<?php print render($page['footer_right']); ?>
</div>
<?php endif ?>
Wenn ich das ganze so schreibe, dann bestehen die fehler dennoch.
<?php if ($page[('footer_left') && ('footer_middle') && ('footer_right')]):?>
<div class="grid-5 beta">
<?php print render($page['footer_left']); ?>
</div>
<div class="grid-6 border beta">
<?php print render($page['footer_middle']); ?>
</div>
<div class="grid-5 beta">
<?php print render($page['footer_right']); ?>
</div>
<?php elseif ($page['footer_middle' && 'footer_right']):?>
<div class="grid-6 border middle_and_right_footer beta">
<?php print render($page['footer_middle']); ?>
</div>
<div class="grid-5 beta">
<?php print render($page['footer_right']); ?>
</div>
<?php elseif ($page['footer_left' && 'footer_right']):?>
<div class="grid-5 border_right beta">
<?php print render($page['footer_left']); ?>
</div>
<div class="grid-5 border_left right_and_left_footer beta">
<?php print render($page['footer_right']); ?>
</div>
<?php else: ?>
<div class="grid-5 beta">
<?php print render($page['footer_left']); ?>
</div>
<div class="grid-6 border middle_and_right_footer beta">
<?php print render($page['footer_middle']); ?>
</div>
<div class="grid-5 border_left right_footer beta">
<?php print render($page['footer_right']); ?>
</div>
<?php endif ?>
Ich vermute das en an den Operatoren && bzw and liegt. Aber warum?
- Anmelden oder Registrieren um Kommentare zu schreiben
also das if
am 17.02.2015 - 09:58 Uhr
also das
if ($page['footer_left' && 'footer_middle' && 'footer_right']):
kann nicht funktionieren
probier es mal so:
if ($page['footer_left'] && $page['footer_middle'] && $page['footer_right']):
Also doch nen Syntax
am 17.02.2015 - 11:27 Uhr
Also doch nen Syntax fehler..
Ich bronzier das mal aus. Danke
Mystery schrieb Also doch nen
am 17.02.2015 - 14:57 Uhr
Also doch nen Syntax fehler..
Ich bronzier das mal aus. Danke
Wieso Syntaxfehler, ich sehe dort nur ein Notice....
Dieses Notice entsteht, weil du versuchst, Array Elemente zu überprüfen, die es so gar nicht gibt.
Stefan hat dir ja schon geschrieben, wie die Zeile richtig heißen müßte.
Wenn ich mir anschaue, wie du es geschrieben hast, wäre die Beschäftigung mit dem, was ein assoziatives Array ist (in deinem Falle $page) sicherlich nicht schlecht.
Was um alles in der Welt ist "bronzier" ?
Gruß
Berthold
"bronzier" find ich auch
am 17.02.2015 - 15:03 Uhr
"bronzier" find ich auch klasse, hört sich irgendwie gut an ;-)
Ok alles klar. php ist nicht
am 18.02.2015 - 00:32 Uhr
Ok alles klar. php ist nicht meine Stärke.
Und es sollte "probier" heißen...