We launched new forums in March 2019—join us there. In a hurry for help with your website? Get Help Now!
    • 16955
    • 59 Posts
    В Модике есть специальный тег
    [*type*]
    , который должен выводить тип документа (document, reference ...)
    Но почему-то в любом случае показывается "document"

    Делаю так: с помощью Дитто вывожу список статей и линков в разделе и туда вставляю тег [*type*], - в ответ что все входящие статьи - это документы 9даже если это ссылка)...

    Как определить что статья - это ссылка, а не документ? (т.е. что в поле type таблицы site_content находится запись reference стандартными средствами?
      • 1788
      • 1,103 Posts
      Смотрим таблицу modx_site_content
      У документа поле isfolder = ’0’ и поле type = ’document’
      У папки  поле isfolder = ’1’ и поле type = ’document’
      У ссылки поле isfolder = ’0’ и поле type = ’reference’
      Вот вся логика
        • 16955
        • 59 Posts
        Еще можно по полю type в той же таблице посмотреть
        Если документ в поле - document, если ссылка - в поле reference

        Вот только меня интересует на..рена в МОДике тег [*type*], если он показывает все-равно только значение document.

        Меня интересует как узнать что документ с данным id - является ссылкой?


        Грубо говоря надо передать в сниппет параметр id (если текущий документ является документом) и значение поля content из таблицы site_content (если это ссылка, дело в том что в этом поле лежит сам линк).

        С помощью PHx-не выходит (использую проверку условия по спецтегу [*type*]... в идеале этот тег должен выдавать ’document’ для документа и ’reference’ для ссылки ).
          • 1788
          • 1,103 Posts
          Quote from: LeonCrab at Apr 04, 2008, 04:21 AM

          Вот только меня интересует на..рена в МОДике тег [*type*], если он показывает все-равно только значение document.
          В родителе (папка документа) в поле content практически всегда есть текст, т.е. является документом.
            • 16955
            • 59 Posts
            Согласен.

            Значит ситуация такая:

            Папка 1:
            - докум 1
            - докум 2
            - линк 1 (ссылается на докум N)
            Папка N:
            - докум N-1
            - докум N

            Подскажите как тогда реализовать следующее:
            Сниппет перебирает все документы (в т.ч. линки) в Папке 1 и что-то сними делает. Мне надо как параметр в этот сниппет передать id документа (для докум1, докум 2 и т.д...) или id документа N (для линк 1)

            [[SnippetName? &par1=`value` &DocId=***]]

            делаю с помощью РНх: (вместо ***)
            &DocId=`[+phx:if=`[*type*]`:is=`document`:then=`[+id+]`:else=`[*content*]`+]`

            В моем понимании если для конкретного документа type=document тогда отдаем ИД, если не документ (остается только reference, т.е. ссылка) - отдаем то, что в поле контент этой ссылки (а в ней и хранится ссылка на документ N)/

            Что я делаю не так? Где туплю?