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

Собрала функции для получения текущего адреса. Буду дополнять если что.

Получить алиас ноды (синоним ноды):

drupal_get_path_alias($path, $path_language = '').

Функция возвращает синоним, к внутреннему пути друпала.

Параметры:

$path Внутренний путь друпала.

$path_language Не обязательный код языка, для которого выполняется поиск.
Возвращаемое значение

Синоним пути, если был найден или исходный путь, если синоним не был найден.

 

Пример:

//получим путь к ноде (алиас)
$system_path = 'node/'.$node->nid;
$current_path = drupal_get_path_alias($system_path);

&nb
Читать

Настройка связки PHP5.2+MSSQL+IIS+NetBeans. Часть II. Установка и настройка сервера PHP

Продолжение статьи Настройка связки PHP5.2+MSSQL+IIS+NetBeans. Начало тут.

Часть II. Установка и настройка сервера PHP

1. Установка FastCGI
PHP последних версий предполагает, что Ваш сервер поддерживает технологию FastCGI.
К появлению PHP 5 серверные компоненты Internet Information Services указанных версий уже устарели, и для нормальной работы PHP 5 нужно установить FastCGI для IIS 6.0 и IIS 5.1, на момент написания заметки это была версия FastCGI 1.5.
По сути дела, FastCGI — интерфейс, развивающий классическую технологию CGI, служащую для установки протокола взаимодействия Web-сервера и приложения. Считается, что он, по сравнению с CGI, является более производительным и безопасным.
Ставим FastCGI 1.5 for IIS 6 and 5.1 отсюда:
http://www.iis.net/download/FastCGI.

2. Установка сервера PHP

Для использования с FastCGI рекомендуется устанавливать версию PHP без контроля безопасности потоков (Non-thread-safe Win32 binaries), поскольку сам модуль FastCGI гарантирует, что выполнение происходит в одном потоке и поддержка контроля в самом PHP даёт только лишние проверки и блокировки, приводящие к значительному падению производительности.
Для установки сервера PHP следует скачать и запустить установочный файл:
http://windows.php.net/download/.
Стави
Читать

Настройка связки PHP5.2+MSSQL+IIS+NetBeans. Часть I. Установка и настройка web-сервера IIS

Столкнулась тут на днях с необходимостью настройки связки PHP5.2+MSSQL2005+IIS5.1+NetBeans7.
Ну и решила описать сразу. Вдруг кому надо.
Сразу оговорюсь, конечно, среда разработки здесь на любителя. Для данной связки (PHP5.2+MSSQL+IIS) вполне можно выбрать какую-нибудь другую IDE.
Ну, поехали.... ))))
1. Установка и настройка web-сервера IIS

 

1.1. Установка web-сервера IIS

Web-сервер IIS является одним из компонентов Microsoft Windows и входит в состав всех версий Windows Server, а так же в состав редакции Windows 2000 Profes
Читать

Регулярные выражения для обработки строк UTF-8 в PHP, плагин simple-syn для WordPress

В языке программирования PHP строковые функции (например, strlen, substr, preg_replace_callback, preg_match и другие) при использовании регулярных выражений выдают некорректные результаты, если в строке имеются символы национального алфавита в кодировке utf-8. Подробнее смотрим тут: http://www.phpwact.org/php/i18n/utf-8 (Английский!). Обещают в php6 исправить.
Столкнулась при установке плагина symple-syn для WordPress (синонимайзер), для замены слов синонимами. Нужно было именно для русского текста в кодировке utf-8.
Замена строки 25 в плагине symple-syn для WP

$content=preg_replace_callback('#([a-zA-Z]+)#is','repl',$content);

на

$content=preg_replace_callback('#([а-яА-Я]+)#is','repl',$content);

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

В итоге делаем та
Читать