[Помогите] настройка отображения дополнительных полей для групп пользователей

Тема в разделе "DataLife Engine", создана пользователем Sasha777, 1 окт 2014.

  1. Sasha777

    Sasha777

    Регистрация:
    1 окт 2014
    Сообщения:
    3
    Симпатии:
    0
    Доброго времени суток уважаемые.
    Подскажите пожалуйста как можно настроить вывод дополнительных полей (при добавлении новости на сайт) что бы само дополнительное поле отображалось только определенным группам пользователей.
    Пример:
    Группа Посетители - поле не видит
    Группа Журналисты - поле видит
    За ранее благодарю за помощь.
     
  2. $iD

    $iD Команда форума

    Регистрация:
    13 мар 2012
    Сообщения:
    3.580
    Симпатии:
    1.482
    в шаблоне добавить:
    Код:
    [group=1,2,3] текст [/group] 
    или
    Код:
    [not-group=1,2,3] текст [/not-group]
     
    Sasha777 нравится это.
  3. Sasha777

    Sasha777

    Регистрация:
    1 окт 2014
    Сообщения:
    3
    Симпатии:
    0
    Спасибо большое, а то я уже тут всю голову сломал
    --- Добавлено, 2 окт 2014 ---
    это конечно хорошо но если взять
    Код:
    {xfields}
    в эти теги то у меня получается что все дополнительные поля видны только указанным группам пользователей, а мне нужно что бы одно только поле было не для всех а все остальные как и раньше
     
    Последнее редактирование: 2 окт 2014
  4. Sasha777

    Sasha777

    Регистрация:
    1 окт 2014
    Сообщения:
    3
    Симпатии:
    0
    Нашел еще вот такое:
    Код:
    $tpl->set( '{xfields}', $output );
    
    сразу после него добавить
    Код:
    $tpl->set( '', $outputList );
    тег
    Код:
    {xfields}
    должен разбиватся на вот такие поля:
    Код:
    {xfieldvalue_Название поля}
    Но на версии движка 10,3 не хочет работать :banghead:
    Может кто то подскажет что нужно делать. За ранее благодарен за помощь.
     
  5. lehasta

    lehasta

    Регистрация:
    26 дек 2014
    Сообщения:
    1
    Симпатии:
    0
    Нужно еще в engine/inc/xfields.php
    Найти:

    Код:
    $output = preg_replace("'[if-edit](.*?)[/if-edit]'s", (!$xfieldsadd) ? "1" : "", $output);
    
                }
    
                $output .= <<<HTML

    Заменить на:
    Код:
     $output = preg_replace("'[if-edit](.*?)[/if-edit]'s", (!$xfieldsadd) ? "1" : "", $output);
    
    
                  $outputList["{xfieldvalue_{$fieldname}}"] = $output; $output='';
    
                }
    
                $output = implode('',$outputList);
    
                $output .= <<<HTML
     
  6. maFFyoZZyk

    maFFyoZZyk DLE & IPB

    Регистрация:
    20 июн 2012
    Сообщения:
    202
    Симпатии:
    37
    Господи, ну элементарно же все

    Если пользователь в группе 1,2,3 то непоказываем

    Код:
    [not-group=1,2,3] текст [/not-group]
    Если пользователь в группе 1,2,3 то показываем
    Код:
    [group=1,2,3] текст [/group] 
    Смысл ковырять движок, если разработчики уже все придумали за тебя