it-swarm-es.com

¿Cómo pongo un logotipo en un bloque?

He intentado poner este código en un bloque personalizado con entrada formateada en PHP código:

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

No funciona en Drupal 7.

7
Ek Kosmos

theme_get_settings()fue eliminado in Drupal 7. En su lugar, use theme_get_setting() . Esto funciona:

<?php

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

?>

theme_get_setting() obtendrá la configuración del tema actual, pero si desea la configuración de un tema arbitrario, puede usar el segundo parámetro opcional como se describe en los documentos de la API. Usé theme_image() para hacerlo menos frágil.

Pero si puede evitar el uso del filtro PHP), realmente debería: considerar crear un pequeño módulo personalizado que cree un bloque con el código.

11
user7

Un problema con su código es que usa =, no == en su declaración if.

Suena como un trabajo para Blockify . Y si no desea usar "un módulo completo" solo por eso, puede ver cómo se hace y usar el fragmento correcto.

4
tim.plunkett