Pages_out
Часто нужно выводить страницы разным образом в разные места. для этого решил изготовить себе плагин - набор решений для получения и вывода страниц. Даже не изготовить а расширить функционал плагина pages_images.
Смысл такой: где и как бы мы не выводили страницы, этот процесс можно разбить на две составляющие: получение страниц $pages, и вывод их в цикле определенным образом.
Так вот, у плагина будет две директории: get_pages и out_pages.
Get_pages будет содержать файлы с кодом, после выполнения которого останется переменная $pages_for_out (массив страниц). Файлы в out_pages, будет выводить страницы из массива $pages_for_out. О том как получаются страницы и как они выводятся будет ясно из названий файлов. Файлы будут последовательно подключаться в каждом элементе.
Ну и, для всех этих файлов будет один набор опций (пока), и будут использоваться только те опции, которые нужны для конкретного файла.
У плагина будет виджет; блок, выводящийся по хуку (например content_end); и модуль.
Каждый из этих элементов будет иметь, кроме опций получения и вывода, еще два поля с выпадающими списками файлов: одно с файлами из get_pages; второе - out_pages.
Для вывода будут использоваться вспомогательные функции: get_picture_on_page, которая возвращает превьюшку для страницы; clear_content, которая из контента вычленяет аннотацию, выкидывая картинки и оставляя: то-ли текст до cut, то-ли 1 или 2 первых предложения, то-ли первый абзац и т. п. - в зависимости от настроек.
Для начала создадим файл get_child_pages, который создает массив дочерних страниц страницы с parent_page_id_out.
Значение parent_page_id_out будет браться из опции, если задано; если нет - браться из переменной $page_id, если такая существует; и, наконец, получаться по слугу.
Будет также просто get_pages, которая возвращает страницы заданных типов.
Конечно, будут опции сортировки
Вариантов файлов вывода будет сколько придумаю: титул-превьюшка_слева/справа-аннотация, титул_превьюшка ... Можно будет задать блоки до, после всего элемента и до, после каждой итерации.










