Вывод автора страницы

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

Используем кастомный макрос, который надо прописать в файл ~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)%