We launched new forums in March 2019—join us there. In a hurry for help with your website? Get Help Now!
    • 14806
    • 72 Posts
    Добрый день,
    прошу прощения, разбираюсь пока в modx слабо, поиском воспользовался. smiley

    Есть задача - выводить на главной странице при вызова Ditto для новостей - категории и соответствующие категорям картинки.

    С первой задачей я справился через tagLinks:

    Создал TV "news_tags" как чекбокс со списком значений на русском языке, типа:
    категория 1||категория 2|| категория 3

    Вызываю как:

    [!Ditto? &parents=`29` &summarize=`12` &depth=`3` &hideFolders=`1` &paginate=`0` &tpl=`ditto_news` &dateFormat=`%d.%m.%Y` &sortBy=`createdon` &truncText=`>>` &tagData=`news_tags` &tagDelimiter=`, ` &extenders=`tagging`!]


    Чанк "ditto_news":
    <h1><span class="date">[+date+] - </span> <a href="[(base_url)][~[+id+]~]"> [+pagetitle+] </a></h1>
    Категория: [+tagLinks+] <br />
    <p><img src="/assets/templates/lcf/images/cat/?.gif" width="40" height="40" align="left"  hspace="4">[+introtext+]</p>


    Вот в чанке, в том месте где знак вопроса "?.gif" хотелось бы подставить соответствующее название изображения. Но как это сделать, не создавая еще одной TV, которая будет дублировать TV "news_tags", но только с именами изображений?

    Т.е. для "Категория 1" это может быть "1" и т.д.

    Заранее спасибо!



      • 12327
      • 31 Posts
      Quote from: Joss at May 29, 2008, 03:56 AM

      Добрый день,
      прошу прощения, разбираюсь пока в modx слабо, поиском воспользовался. smiley

      Есть задача - выводить на главной странице при вызова Ditto для новостей - категории и соответствующие категорям картинки.

      С первой задачей я справился через tagLinks:

      Создал TV "news_tags" как чекбокс со списком значений на русском языке, типа:
      категория 1||категория 2|| категория 3

      Вызываю как:

      [!Ditto? &parents=`29` &summarize=`12` &depth=`3` &hideFolders=`1` &paginate=`0` &tpl=`ditto_news` &dateFormat=`%d.%m.%Y` &sortBy=`createdon` &truncText=`>>` &tagData=`news_tags` &tagDelimiter=`, ` &extenders=`tagging`!]


      Чанк "ditto_news":
      <h1><span class="date">[+date+] - </span> <a href="[(base_url)][~[+id+]~]"> [+pagetitle+] </a></h1>
      Категория: [+tagLinks+] <br />
      <p><img src="/assets/templates/lcf/images/cat/?.gif" width="40" height="40" align="left"  hspace="4">[+introtext+]</p>


      Вот в чанке, в том месте где знак вопроса "?.gif" хотелось бы подставить соответствующее название изображения. Но как это сделать, не создавая еще одной TV, которая будет дублировать TV "news_tags", но только с именами изображений?

      Т.е. для "Категория 1" это может быть "1" и т.д.

      Заранее спасибо!





      поясните мне , а что такое в вашем случае категория?

      может Вам стоить написать<img src="/assets/templates/lcf/images/cat/[+id+].gif" width="40" height="40" align="left" hspace="4">
        • 14806
        • 72 Posts
        поясните мне , а что такое в вашем случае категория?

        Категории - это просто тэги новостей. Т.е. каждая новость может иметь какой-то тэг: "здоровье", "лекарства" и т.д. Для простоты обозвал их "категориями" на примере. Тэг выбирается редактором, как дополнительное TV (checkbox) поле при редактировании. Нужно чтобы не только тэг-ссылка помещались рядом с новостью, но и соответствующая картинка. Т.е. если новость имеет тэг "лекарство", то одно изображение, "здоровье" - другое.

        Пример тут: http://labclinpharm.ru/ , там видно, что даже место для изображений зарезервировано.

        Спасибо!
          • 16545
          • 358 Posts
          phx тебе поможет -> http://wiki.modxcms.com/index.php/PHx
            • 14806
            • 72 Posts
            Задача решена:

            Сниппет DittoExt:
            <?php
            if($img) {
                $elements = mysql_result($modx->db->query("SELECT elements FROM `site_tmplvars` WHERE name='news_tags'"),0);
            
                $elements = explode('||', $elements);
            
                $element = array_search($img, $elements);
                echo('a'.$element);
            } else {
                echo('none');
            }
            ?>


            site_tmplvars - нужно добавить префикс, если у вас есть.

            Для сайта http://labclinpharm.ru/ используется код (изображения там еще не везде используются):

            Чанк ditto_news:

            <h1><span class="date">[+date+] - </span> <a href="[(base_url)][~[+id+]~]"> [+pagetitle+] </a></h1>
            Категория: [+tagLinks+] <br />
            <p><img src="/assets/templates/lcf/images/cat/[[DittoExt? &img=`[+news_tags+]`]].gif" width="40" height="40" align="left"  hspace="4">[+introtext+]</p><br /><hr noshade size="1">


            изображения категорий: none.gif, a0.gif, a1.gif и т.д.

            Вызов на главной, чанк ditto_main:

            [!Ditto? &parents=`29` &summarize=`12` &depth=`3` &hideFolders=`1` &paginate=`0` &tpl=`ditto_news` &dateFormat=`%d.%m.%Y` &sortBy=`createdon` &truncText=`>>` &tagData=`news_tags` &tagDelimiter=`|` &extenders=`tagging`!]


            TV news_tags:

            ListBox или CheckBox типа:

            Тема1||Тема2||Тема2||Тема4