Вывод фотографий в обратном порядке — различия между версиями

Материал из Umicms
Перейти к:навигация, поиск
Строка 1: Строка 1:
 
Для того, чтобы макросом photoalbum album() фотографии выводились в обратном порядке немного изменим функцию album.<br>
 
Для того, чтобы макросом photoalbum album() фотографии выводились в обратном порядке немного изменим функцию album.<br>
1.Добавим параметр к функции album прмиерно вот такого вида $sort_photo = 1
+
1.Добавим параметр к функции album примерно вот такого вида $sort_photo = 1
 
<source lang="php">
 
<source lang="php">
 
public function album($path = false, $template = "default", $sort_photo = 1, $limit = false, $ignore_paging = false) {
 
public function album($path = false, $template = "default", $sort_photo = 1, $limit = false, $ignore_paging = false) {
 
</source>
 
</source>
2. Спускаемся в самый низ функции и перед кодом
+
2. Заменяем везде слово self:: на $this->
 +
3. Спускаемся в самый низ функции и перед кодом
 
<source lang="php">
 
<source lang="php">
return self::parseTemplate($template_block, $block_arr, $element_id);
+
return self::parseTemplate($template_block, $block_arr, $element_id); // Заменяем self:: на $this->
 
</source>
 
</source>
 
вставляем вот такой код
 
вставляем вот такой код
 
<source lang="php">
 
<source lang="php">
if (1 == $sort_photo)
+
if (1 == $sort_photo){
$block_arr['subnodes:items'] = array_reverse($block_arr['void:lines']);
+
$block_arr['void:lines'] = array_reverse($block_arr['void:lines']);
 +
$block_arr['subnodes:items'] = $block_arr['void:lines'];
 +
    }
 +
</source>
 +
Незабываем, что результат действий необходимо сохранить в файле __custom.php незабыв переименовать саму функцию из album в photo_conversely, и добавить права на выполнение макроса в permissions.custom.php:
 +
<source lang="php">
 +
<?php
 +
$permissions = Array(
 +
'albums' => Array('photo_conversely')
 +
);
 +
?>
 
</source>
 
</source>
Незабываем, что результат действий необходимо сохранить в файле __custom.php незабыв переименовать саму функцию из album в photo_conversely, и добавить права на выполнение макроса в permissions.custom.php.
 
  
 
Теперь в нашем кастомном макросе мы можем использовать третий, необязательный параметр, ставя его в значение 1 или 0.
 
Теперь в нашем кастомном макросе мы можем использовать третий, необязательный параметр, ставя его в значение 1 или 0.
http://example.com/udata://photoalbum/album/47/0/1
+
http://example.com/udata://photoalbum/photo_conversely/47/0/1
 +
 
 +
Вызов в TPL: %photoalbum photo_conversely('27','default',1)%
  
Работа проверена на версии 2.8.5.3
+
Работа проверена на версии 2.8.6.1
 
[[Категория:Вопросы и уроки разработки сайтов на UMI.CMS]]
 
[[Категория:Вопросы и уроки разработки сайтов на UMI.CMS]]

Версия 07:19, 17 февраля 2013

Для того, чтобы макросом 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