Wie füge ich ein Logo in einen Block ein?


7

Ich habe versucht, diesen Code in einen benutzerdefinierten Block mit einer in PHP-Code formatierten Eingabe einzufügen:

$settings = theme_get_settings('my theme');
if (!$settings[toogle_logo] = 0) {
  print '<img src="' . base_path() . $settings['logo_path'] . '" alt="my logo" />'; 
}

In Drupal 7 funktioniert das nicht.


1
Schauen Sie sich das Delta-Block-Modul
— Chrisjlee

Antworten:


11

theme_get_settings() wurde in Drupal 7 entfernttheme_get_setting() . Verwenden Sie stattdessen . Das funktioniert:

<?php

if (theme_get_setting('toggle_logo')) {
  $image = array(
    'path' => theme_get_setting('logo'),
    'alt' => 'my logo',
  );
  print theme('image', $image); 
}

?>

theme_get_setting()wird die Einstellung des aktuellen Themas erhalten. Wenn Sie jedoch die Einstellung eines beliebigen Themas wünschen, können Sie den optionalen zweiten Parameter verwenden, wie in den API-Dokumenten beschrieben. Früher theme_image()habe ich es weniger zerbrechlich gemacht.

Wenn Sie jedoch die Verwendung des PHP-Filters vermeiden können, sollten Sie Folgendes in Betracht ziehen: Erstellen Sie ein kleines benutzerdefiniertes Modul, das stattdessen einen Block mit dem Code erstellt.


4

Ein Problem mit Ihrem Code ist, dass Sie in Ihrer if-Anweisung =, nicht == verwenden.

Klingt nach einem Job für Blockify . Und wenn Sie nicht nur "ein ganzes Modul" dafür verwenden möchten, können Sie sehen, wie es gemacht wird, und das richtige Snippet verwenden.


Ja, das war eines der Probleme.
— Ek Kosmos
Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.