Темизация views для темы SimpleCorp

 

Расскажу как темизировала блок, созданный во views для темы SimpleCorp. Есть у этой темы внизу такие штучки: Темизация simplecorp Мне же необходимо вывести блоком материал Product из ubercart, чтобы оно именно так и выглядело.  Прошу поправить, если всё это можно сделать более правильно. Создаём представление - блок. Формат: HTML список, Показать: Поля   В поля добавляем: Содержимое: Изображение Содержимое: Заголовок Product: Sell price simplecorp2   Теперь нужно темизировать views. В самом представлении раскрываем "Расширенный". Нажимаем на: "Тема оформления: Информация". Открывается окно:

simplecorp3

Нас интересует Стиль вывода, и два поля содержимого - это Изображение и заголовок.

Жирным шрифтом у нас указаны исходники шаблонов. Брать их нужно из
Читать

Drupal. Выводим последние несколько записей нод определенного типа сниппетом – 2

Как вывести последние несколько записей нод определенного типа сниппетом. Такая статья уже была, но тут выводим только title со ссылкой на ноду и всё. По идее можно было и не писать про это, но пусть будет).

Приведу сниппет на примере вывода списка альбомов из галелеи.

Создаем блок для вывода. В коде блока пишем:

<?php

$maxlen = 100; //максимальная длина текста
$type='_gallery'; // Нужный тип
$lim='3'; // 

Читать

Drupal. Выводим последние несколько записей нод определенного типа сниппетом

Как вывести последние несколько записей нод определенного типа сниппетом.

Конечно, можно использвать Views. Но зачем утяжелять? Приведу сниппет на примере вывода новостей.

Создаем блок для вывода. В коде блока пишем:

<?php
function cutString($string, $maxlen) {
$len = (mb_strlen($string) > $maxlen)? mb_strripos(mb_substr($string, 0, $maxlen), ' '): $maxlen;
$cutStr = mb_substr($string, 0, $len);
return (mb_strlen($string) > $maxlen) ? $cutStr . '...' : $cutStr;
}
$maxlen = 100; //максимальная длина текста
$type='_news'; // Нужный тип
$lim='2'; // Количество нод на страницу
$select=db_select('node', 'n')
->fields('n', array('nid', 'created'))
->condition('status', 1)
->condition('type', $type)
->orderby('created', 'desc')
->extend('PagerDefault')
->limit($lim)
->execute();
print('<div><ul>');
foreach ($select as $row) {
$node = node_view(node_load($row->nid),'body');
$body = $node['body'];
//получим путь к ноде (алиас)
$system_path = 'node/'.$row->nid;
$current_path = drupal_get_path_alias($system_path);
//заголовок в виде даты со ссылкой на ноду
print('<h5><li>');
print('<a href="'.$current_path.'">'.date('j.n.Y G:i:s',$body['#object']->created).'</a>');
print('</h5>');
$string = $body['#object']->body['und'][0]['value'];
print(cutString($string, $maxlen));
print('</li>');
}
print('</ul></div>');
?>

На забываем ставить вывод "PHP Code".
Справедливо для Drupal 7.

Блок был назначен неправильной области и был деактивирован. Drupal 7

При добавлении новых регионов часто бывает, что вываливается такое сообщение: Блок %имя_блока% был назначен неправильной области %область% и был деактивирован.

Причем у  меня на локалхосте (Denwer) все было ок, а у хостера выводилось такое сообщение.

Просто содержимое блоков кэшируется в базе, и нужно почистиь тут: admin/config/development/performance. Кстати, я еще и в базе почистила через phpmyadmin (все таблицы cache). Да, и права доступа для темы переназначила на 755.