Вывод фотографий в обратном порядке

Материал из Umicms
Перейти к:навигация, поиск

Для того, чтобы макросом photoalbum album() фотографии выводились в обратном порядке немного изменим функцию album.
1.Добавим параметр к функции album примерно вот такого вида $sort_photo = 1

public function album($path = false, $template = "default", $sort_photo = 1, $limit = false, $ignore_paging = false) {

2. Заменяем везде слово self:: на $this-> 3. Спускаемся в самый низ функции и перед кодом

return self::parseTemplate($template_block, $block_arr, $element_id); // Заменяем self:: на $this->

вставляем вот такой код

if (1 == $sort_photo){
			$block_arr['void:lines'] = array_reverse($block_arr['void:lines']);
			$block_arr['subnodes:items'] = $block_arr['void:lines'];
		     }

Незабываем, что результат действий необходимо сохранить в файле __custom.php незабыв переименовать саму функцию из album в photo_conversely, и добавить права на выполнение макроса в permissions.custom.php:

<?php
	$permissions = Array(
		'albums' => Array('photo_conversely')
	);
?>

Теперь в нашем кастомном макросе мы можем использовать третий, необязательный параметр, ставя его в значение 1 или 0. http://example.com/udata://photoalbum/photo_conversely/47/0/1

Вызов в TPL: %photoalbum photo_conversely('27','default',1)%

Работа проверена на версии 2.8.6.1