Kennisgevingen over ongedefinieerde indexen/variabelen

Ik maak mijn eigen aangepaste sjabloon in Drupal 7 en heb enkele systeemfouten. Kan iemand mij dit alstublieft uitleggen, en hoe ze te repareren of me te verwijzen naar een documentatie die me zal helpen deze problemen op te lossen? Dit zijn de fouten:

Opmerking: Undefined index: navigation in include() (regel 82 van /Users/Ken/Sites/drupal_cprna/sites/all/themes/na/templates/page.tpl.php).       Opmerking: Ongedefinieerde variabele: secondary_menu_heading in include() (regel 107 van /Users/Ken/Sites/drupal_cprna/sites/all/themes/na/templates/page.tpl.php).       Opmerking: Ongedefinieerde variabele: title in include() (regel 53 van /Users/Ken/Sites/drupal_cprna/sites/all/themes/na/templates/block.tpl.php).       Opmerking: Ongedefinieerde variabele: title in include() (regel 53 van /Users/Ken/Sites/drupal_cprna/sites/all/themes/na/templates/block.tpl.php).       Opmerking: Ongedefinieerde variabele: jump_link_target in include() (regel 74 van /Users/Ken/Sites/drupal_cprna/sites/all/themes/na/templates/html.tpl.php).

1

2 antwoord

Al deze fouten worden veroorzaakt door de respectieve variabelen die niet in de verschillende sjabloonbestanden aanwezig zijn.

Er is absoluut geen $ secondary_menu_heading standaard beschikbaar in page.tpl.php en er staat geen jump_link_target standaard in html.tpl.php .

Bij een gok zou ik zeggen dat je je thema baseert op een ander thema dat doet die variabelen levert aan de sjabloonbestanden, en je moet hetzelfde doen. Als dat het geval is, bekijk dan het template.php -bestand voor dat thema, met name bij de functies themename_preprocess_x() ... dat is waar de variabelen worden gemaakt en aan de sjabloonbestanden.

Er is een goed overzicht van hoe het themasysteem werkt op dit bericht .

1
toegevoegd

Ik kreeg dezelfde foutmelding, gebruikmakend van een Zen-subthema in mijn D7-installatie:

Opmerking: Ongedefinieerde variabele: title in include() (regel 53 van   .../sites/all/themes/mysubtheme/templates/block.tpl.php)

Door deze fout zijn de titels van mijn blokken helemaal niet weergegeven in de front-end, zoals ik had verwacht.

Zoals Clive zei, was er een variabele die niet bestond in de pagina.tpl.php. Dus ik heb de volgende functie gekopieerd van Zen's template.php naar mijn subtheme template.php bestand:

function mysubtheme_process_block(&$variables, $hook) {
   $variables['title'] = isset($variables['block']->subject) ? $variables['block']->subject : '';
}

(Merk echter op dat u de functie moet hernoemen met " yoursubtheme _process_block")

En ... voilá, de titels van mijn blok weer getoond. :-)

Bedankt voor je reactie, Clive. Het heeft me veel geholpen!

Joan

1
toegevoegd