Вывод автора страницы — различия между версиями

Материал из Umicms
Перейти к:навигация, поиск
(Новая страница: «Используем кастомный макрос, который надо прописать в файл ~classes/modules/custom.php, после слов //TODO:…»)
 
Строка 32: Строка 32:
 
%custom autorname(%id%,1)%
 
%custom autorname(%id%,1)%
 
</pre>
 
</pre>
 +
 +
[[Категория:Написание кастомных макросов]]

Версия 06:48, 27 февраля 2010

Используем кастомный макрос, который надо прописать в файл ~classes/modules/custom.php, после слов //TODO: Write your own macroses here:

  public function autorname($id = false) {
      if (!$id || !umiHierarchy::getInstance()->getElement($id)) {return "";}    
      $c = func_num_args();
      $args = func_get_args();
      $x =0;
      if ($c >1 ) $x = $args[1];
        $object = umiHierarchy::getInstance()->getElement($id)->getObject();
        $autor_id = $object->getOwnerId();
        $object_aut = umiObjectsCollection::getInstance()->getObject($autor_id);
        $name = $object_aut->getName();
        $fname = $object_aut->getValue("fname");
        if ($x == 1){return $fname;}
        return $name;
  }
        

Макрос принимает один обязательный параметр: id - любой страницы, и второй необязательный параметр, если он =1, то выводится имя автора (владельца) страницы, по умолчанию выводится логин.

пример вызова:

%custom autorname(%id%)%

или

%custom autorname(%id%,1)%