We launched new forums in March 2019—join us there. In a hurry for help with your website? Get Help Now!
    • 7642
    • 37 Posts
    Создаю вывод новостей снипетом ditto

    Публикация осуществляется зарегистрированным пользователем посредством NewsPublisher

    Вопрос: А как этот же пользователь может отредактировать новость?
      • 7642
      • 37 Posts
      Ответ на свой вопрос нашел используя newsmanager и newseditor

      У меня родился другой вопрос если делать страницу с редактируемым содержимым с личным доступом, то когда незарегистрированный пользователь заходит на нее то он перенаправляется на главную страницу а как мне сделать чтобы он перенаправился на страницу где будет расположена форма для входа
        • 33694
        • 742 Posts
        А есть какой-то сниппет (даже назавания к сожалению не помню), он позволяет выводить разные чанки для пользователей из разных групп.

        И вроде как (вероятнее всего ошибюсь, но что-то подобное краем уха слышал) ещё есть снипет который делает редирект на настраиваемую страницу, в зависимости от группы пользователя.

        Удачи в поисках! wink
          • 36823
          • 334 Posts
          1.В вызове newseditor можно задать группы пользователей, которым доступно создавать новости. Только для групп пользователей, не для отдельных пользователей. Перенаправление на страницу регистрации я делал через админку, администрирование > конфигурация > настройка сайта, там указываете номер страницы "Страница ’Доступ запрещен’:". Пока пользователь не залогинился, при попытке зайти на страницу newseditor он естественно будет перенаправлен на страницу, которая там указана, например регистрации.
          2.Сниппет MemberCheck. Где - то на форумах нарыл с двумя чанками, не вошёл пользователь видит содержимое чанка publicSiteNav, вошёл, privateSiteNav, стандартный с одним чанком. Если надо могу скинуть.
            • 36823
            • 334 Posts
            По поводу редактирования пользователями своих новостей, вопрос. Пробую отфильтровать новости по автору, точнее, по id автора, через Ditto, потом расковырять через newseditor. Но через функцию filter в Ditto, ничего кроме как запретить к выводу отдельные новости не получается.
            Вот здесь я задавал вопрос по фильтру: http://modxcms.com/forums/index.php/topic,6995.120.html
            Пробую так: подправив сниппет Personalize, вывожу через tv, id залогиненного пользователя.
            Вызов Ditto на странице: [!Ditto2? &startID=`10` &summarize=`99` &tpl=`Ditto_Ob` &filter=`user[*author*],createdby,2` &paginate=`1` &debug=1!].
            При включенном режиме debug, на вкладке filter вижу:
            source value mode
            user3 createdby 2
            в данном случае залогинен пользователь с id 3.
            Новости всё равно выводятся без фильтрации.
            Может быть старшие товарищи подскажут чего.

              • 7642
              • 37 Posts
              Спасибо за ответ. Скиньте если не трудно [email protected]
                • 7642
                • 37 Posts
                У снипета NewsManager такая проблема - вывожу с помощью него новости на странице с кнопками публикация, так вот если у первой новости нажать на кнопку публиковать то публикуются все новости, соответственно если снять с публикации первую новость, то снимаются все новости с публикации... как это побороть?
                  • 36823
                  • 334 Posts
                  Знакомая проблема. Сделал по-другому.
                  В шаблоне вызова NewsManager оставил только: показать, редактировать, переместить вверх и удалить, остальное редактирую непосредственно в открывающемся окне "редактировать".
                  По поводу фильтра, у меня работает так:
                  [!Ditto? &startID=`4,10,11,12,13,14,15` &summarize=`99` &tpl=`news` &filter=`createdby,-[*author*],1` &paginate=`1` &debug=0!]
                  Через TV [*author*] выводится id залогиненного в данный момент пользователя.
                  В результате выводятся документы созданные залогиненным пользователем.
                    • 36823
                    • 334 Posts
                    Может ещё актуально. Вот как пользователи могут редактировать свои новости.
                    Берём сниппет NewsManager

                    В строке 224 меняем:
                    "parent = $folder"
                    на
                    "createdby = $folder"
                    вызываем на странице:
                    [!NewsManager? &folder=`-[*author*]` &editformid=`4` &rowtpl=`shablon` &nrposts=50 &clearcache=`1`!]
                    И вот залогиненные пользователи могут редактировать свои новости.