- HTML и CSS
- CSS3 shape-outside или обтекание картинки текстом
- Маштабируемый фон background css
- CSS выравнивание по вертикали
- Хранение картинок в css с помощью base64
- Как сделать ссылку, якорь?
- CSS3 для Internet Explirer 6 и старше
- Вёрстка для мобильных устройств
- Растягиваем html на всю страницу
- Таблица цветов CSS
- Выравнивание тега LI в контенте
- Оооох какой прекрасный box-sizing
- Делаем таблицу при помощи div и css
- Как сделать кросбраузерный linear-gradient без особых усилий
- CSS прозрачность для всех
- CSS для печати @media print
- Выравнивание блоков с помощью css {display: inline-block}
- Замечательное значение inherit
- Тень блочных элементов в CSS3
- Обводка текста с помощью CSS
- Полезные html символы
- Хаки или CSS для Internet Explorer-ов
- Делаем трёхуровневое меню на css
- jQuery, javaScript
- Устанавливаем на Яндекс Карте свою картинку вместо стандартной метки
- Адаптивные фотогалереи, слайдеры, карусели для сайта
- Узнаём координаты для установки скрипта Яндекс Карт
- Собственный фильтр для селекторов. Выбираем случайный элемент на jQuery
- closeClick true fancyBox 2, closeClick :true
- jquery ui slider, дробные числа, float values
- Парсер параметров из адресной строки jQuery
- Подсказки по javascript
- Выпадающее горизонтальное меню
- Работа с объектами в JavaScript: теория и практика
- Работа с массивами в jquery
- PHP
- Регулярные выражения онлайн
- Как определить путь к файлу текущего класса
- PHP скрипт для поиска. Удаление вируса с сайта
- UMI-CMS
- UMI CMS rel canonical
- UMI CMS API Шаблоны данных Вывести текст из подсказки
- UMI CMS API Шаблоны данных Добавить префикс к полю
- Если надо в UMI CMS открыть доступ к файлу в корне сайта htaccess
- Как перенести контент со старой UMI на новую UMI CMS с помощью umiDump
- Отправка письма с вложением UMI CMS API
- Как вывести из набор изображений одну картинку UMI CMS API (или случайную)
- UMI CMS Основные поля для отправки формы в модуле Конструктор форм
- Функции API UMI CMS для добавления, редактирования, удаления объектов каталога
- Функции API UMI CMS для добавления, редактирования, удаления объектов каталога
- UMI CMS Фильтрация спама на сайте
- Работа с набором изображений (multiple_image) TPL в UMI.CMS
- UMI CMS Ошибка "I expect value in request for param"
- UMI.CMS USEL кириллица не работает
- UMI Добавление дополнительных настроик на примере модуля catalog
- Подключение шаблонов в UMI.CMS в TPL шаблонизаторе
- UMI.CMS - забыл пароль администратора. Как восстановить?
- UMI Selector USEL фильтрация в PHP
- Передать в xslt xpath в запросе знак амперсанда
- Работа с system makeThumbnail
- Вывести названия методов в UMI
- UMI CMS API загрузка модуля
- UMI CMS карта сайта с помощью Usel
- UMI выгрузка из 1C поиск страницы копии, удаление копии
- Как в UMI.CMS изменить адрес домена в sitemap.xml и robots.txt. Изменить HTTP на HTTPS
- Вывод баннеров/слайдера в umi xslt
- UMI.CMS нет вкладок в админке
- XSLT вывод ссылки в которой присутствует знак амперсанда &
- UMI CMS Выгрузка из 1С нужно чтобы название товара (страницы каталога) не менялось
- Как в UMI поставить всем страницам галку на просмотр гостю
- Как узнать у страницы id шаблона данных через api?
- UMI.CMS работа с debug config.ini фильтрация по IP
- Как задать заголовок H1 (header) на странице созданного метода UMI CMS
- Выводим случайную статью в UMI CMS с помощью usel в tpl
- UMI.CMS Открыть закрытые поля в шаблонах данных ?skip-lock=1
- Как отредактировать облако тегов
- Как узнать позицию страницы среди соседних страниц в UMI
- umi cms usel вывод страниц каталога c фильтрацией
- Вывод справочника при помощи usel
- Как в umi узнать umiHierarchyElement из id umiObject
- Карта сайта на UMI CMS с помощью кастомного метода
- Редирект со страницы на страницу
- Создание, обслуживание, поддержка сайта
- Как удалить в картинке jpg, jpeg, gif? eval или base64_decode
- Основные технические ошибки, допускаемые при создании сайта
- Как выбрать домен?
- Хостинг, что это и для чего он нужен
- htaccess редиректы
- Наполнение сайта
- Цены на разработку сайта в Петербурге
- Какова может быть стоимость поддержки сайта?
- Важные мелочи!
- Каким должен быть сайт по версии яндекса
- 5 советов верстальщику
- Копирайтинг, seo, продвижение
- Ранжирование сайтов в поисковиках, выдача поисковых систем, поисковый алгоритм, поисковое ранжирование сайта
- Что нужно делать чтобы сайт был на первых местах?
- Копирайтинг - что это?
- Добавить сайты в индекс поисковых систем, регистрация в поисковиках
- Почему сайт не может приносить прибыль сразу?
- Почему следует вкладывать деньги в сайт?
- SEO статья о SEO-копирайтинге (seo copyrighting, seo copywriting). Кто seo копирайтер, что такое seo текст сайта, как помогают seo статьи и зачем нужна оптимизация?
- Как верстать сайт для SEO?
- Контекстная реклама
UMI CMS Как вывести одним списком определенные (или все) альбомы в которых лежат фотографии
ЗАДАЧА: Если надо вывести одним списком все альбомы (album) в которых лежат фотографии (photo), без пустых альбомов.
Стандартные функции: и %photoalbum albums()% не подходят. Воспользуемся кастомной функцией:
public function get_album_is_photo($template = "default", $parent_element_id = 0, $limit = false, $ignore_paging = false, $is_index_view = false){
list($template_album_block, $template_album_item) = def_module::loadTemplates("photoalbum/get_album_is_photo/".$template, "album_block", "album_item");
$hierarchy = umiHierarchy::getInstance();
$select = new selector('pages');
$select->types('hierarchy-type')->name('photoalbum', 'album');
$select->where('hierarchy')->page($parent_element_id)->childs(10);
if($is_index_view){
$select->where('is_index_view')->isnotnull();
}
$select->where('permissions');
//$select->limit($offset, $limit);
$arr_parent_album = array();
$block_arr = array();
$items = array();
foreach($select as $page){
$page_id = $page->id;
$arr_children = $hierarchy->getChildrenTree($page_id, false, true, 1, 47);
$is_photo = false;
foreach($arr_children as $child_id=>$val){
$child_element = $hierarchy->getElement($child_id);
if($child_element->getMethod() == 'photo'){
$is_photo = true;
break;
}
}
if(!$is_photo){
continue;
}
$arr_parent_album[] = $page_id;
}
$curr_page = (int) getRequest('p');
if($ignore_paging) $curr_page = 0;
$offset = $limit * $curr_page;
if(($sz = sizeof($arr_parent_album)) > 0) {
for($i = 0; $i < $sz; $i++) {
if($i < $offset) continue;
if($i >= $offset + $limit ) break;
$page_id = $arr_parent_album[$i];
$page_element = $hierarchy->getElement($page_id);
$item_arr = array();
$item_arr['attribute:id'] = $page_id;
$item_arr['attribute:link'] = $page_element->link;
$item_arr['attribute:name'] = $page_element->name;
$items[] = def_module::parseTemplate($template_album_item, $item_arr, $page_id);
$hierarchy->unloadElement($page_id);
}
}
$block_arr['subnodes:items'] = $items;
$block_arr['total'] = count($arr_parent_album);
$block_arr['per_page'] = $limit;
return def_module::parseTemplate($template_album_block, $block_arr);
}
Создаём в папке tpls/photoalbum папку get_album_is_photo. В нём нужно обработать блоки album_block и album_item.
$FORMS = Array();
$FORMS['album_block'] = <<
%items%
END;
$FORMS['album_item'] = <<
%link% ::
%id% ::
%name%
END;