it-swarm-eu.dev

Jak vložím logo do bloku?

Pokusil jsem se dát tento kód do vlastního bloku se vstupem naformátovaným na PHP kód:

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

Nefunguje to v Drupal 7.

7
Ek Kosmos

theme_get_settings()byl odstraněn v Drupal 7. Místo toho použijte theme_get_setting() . Funguje to takto:

<?php

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

?>

theme_get_setting() získá aktuální nastavení motivu, ale pokud chcete nastavení libovolného motivu, můžete použít volitelný druhý parametr, jak je popsáno v dokumentech API. Použil jsem theme_image() , aby byl méně křehký.

Pokud se však můžete vyhnout použití filtru PHP=), měli byste opravdu: zvážit vytvoření malého vlastního modulu, který místo toho vytvoří blok s kódem.

11
user7

Jeden problém s kódem je v tom, že ve svém příkazu if použijete =, nikoli ==.

Zní to jako úloha pro Blockify . A pokud nechcete používat pouze „celý modul“, můžete vidět, jak se to dělá, a používat správný úryvek.

4
tim.plunkett