alter.ego: Блог

Главные вкладки

Темизация блоков

1 августа 2009 в 3:41

Сегодня понадобилось сделать N количество блоков с разными но не уникальными стилями, причем количество блоков может менятся, и постоянно лазить и дописывать CSS не улыбается... не найдя готового решения (ну или поленившись поискать как следует) написал вот это:

<?php
// $Id: block.tpl.php,v 1.3 2007/08/07 08:39:36 goba Exp $

  // В таблице boxes, в колонке info хранится Описание блока (Block description).
  // Это обязательное поле значение которого мы вводим при создании блока
  // но видимое только в админке. Берем это значение:
  //
  $block_info = block_box_get($block->delta);
 
  // Разбираем полученые данные по нужному шаблону:
  //
  preg_match_all("/{(.*?)}$/",$block_info['info'],$block_class);
 
  // Просто переписываем переменную, избавляясь от масива
  //
  $block_class = $block_class[1][0];

  // Добавляем класс составленный с учетом полученых выше данных
  //
?>
  <div class="block  block-<?php print $block_class; ?>">
    <div class="block-title"><?php print $block->subject; ?></div>
    <div class="block-content"><?php print $block->content; ?></div>
  </div>

теперь создаем блоки с именами типа Новости{red-block} где red-block - имя нужного класса

покаместь работает, но есть ли другие решения? и чем может быть чревато использование моего способа?

проблема с выводом cck imagefield через drupal_render( );

19 июля 2009 в 23:39

возникла проблема с темизацией страницы добавления материала /node/add/*

есть материал с полем cck imagefield, для вывода которого использую drupal_render( );

function JournalSochi_theme() {
return array('excursion_node_form' => array('arguments' => array('form' => NULL)));
}

function JournalSochi_excursion_node_form($form){
$content = '';
$content .= '

';
$content .= '

';
$content .= '

'.t('add photo').' '.drupal_render($form['field_excursion_photo']).'

';
$content .= '

'.drupal_render($form['buttons']['submit']).'

';

return $content;
}

?>

поле выводится но ведет себя крайне не адекватно, при попытке залить файл - либо показывает сообщение что файл больше лимита, хотя это не так, либо делает чтото странное. при попытке добавить еще одно изображение - пропадает целиком.

видео на YouTube: http://www.youtube.com/watch?v=TmHUrkAvVnA