We launched new forums in March 2019—join us there. In a hurry for help with your website? Get Help Now!
    • 22299
    • 13 Posts
    мы знаем как работает снипет tvsLinks: http://modxcms.com/forums/index.php/topic,35096.0.html

    можно ли сделать чтоб он значение doc для @EVAL return $modx->runSnippet("tvsLinks",array(’doc’=>4,’depth’=>0,’folder’=>0)), подцеплял из изначения tv параметра, в тором содержится id ресурса для выведения категорий.
      • 22301
      • 1,084 Posts
      раз десять прочёл. смысл слов по отдельности и даже некоторых фраз понятен, но что именно требуется, так и не понял:)

      лучше изложите, какой функцонал вам надо реализовать, абстрагируясь от tvsLinks.
        [img]http://jurist-info.ru/pic/rrr.jpg[/img]

        Безжалостный пияр!
        Artima -- неуч!
        Осторожно: преступная локализация -- modx-cms.ru
        Баштанник Андрей -- мегапрограммер из Белоруссии и поедатель говна, очень критично настроенный молодой человек!

        Дисклеймер для общительных: даю сам себе право транслировать в открытый эфир содержание лички, just for fun
        • 22299
        • 13 Posts
        изложу по другому:

        структура каталога такая:
        --Страны
        ---Болгария
        -----Регионы
        ------Золотые пески
        ------Солнечный берег
        ------...

        -----Гостиницы
        ------Гостиница 01
        ------Гостиница 02
        ------...

        -----Туры
        ------Тур01
        ------Тур02
        ------...

        Стран в каталоге очень много. Мне нужно чтоб в админке я смогла в карточке Гостиницы выбрать к какому региона она относится и на сайте вывести эту информацию.
        Подобных задач на сайте несколько

        Т.е. Надо подцепить документы с такой же вложенностью но из другой папки.
        Для этого я решила пойти таким путем:
        У документа страна (Болгария) я завела 3 TV: Папка региона, папка отелей, папка туров (куда забиваю id этих папок)
        Взяла на вооружение снипет tvsLinks (не раз он меня выручал)

        Теперь мне нужно выцепить эти tv параметры из страны и подставить в tvsLinks:

        @EVAL 
        $parent = $modx-> getParent ($docid); // вычисляем id родителя (Папка гостиницы)
        $parent_parent = $modx-> getParent ($parent['id']); // вычисляем id родителя родителя (страна [Болгария])
        $folderRegion_v = $modx->getTemplateVar('folderRegion','*',$parent_parent['id']); //получаем значение tv Папка региона
        return $modx->runSnippet("tvsLinks",array('doc'=>'$folderRegion_v['value']','depth'=>1,'folder'=>1)); // подставляем это значение в tvsLinks


        Но выдается ошибка:
        Parse error: syntax error, unexpected T_STRING, expecting ')' in /home/u78583/oxanapekkeru/03/manager/includes/tmplvars.commands.inc.php(60) : eval()'d code on line 1
        embarrassed embarrassed

        Причем если в tv просто вставить:
        $parent = $modx-> getParent ($docid);
        $parent_parent = $modx-> getParent ($parent['id']);
        $folderRegion_v = $modx->getTemplateVar('folderRegion','*',$parent_parent['id']);
        return $folderRegion_v['value'];


        все правильно вычисляется, видимо надо где-то допиливать tvsLinks, либо где-то у меня синтаксическая ошибка, php знаю очень плохо, но по логике должно работать
          • 22301
          • 1,084 Posts
          первое, что приходит в голову, это попробовать вставить вот это в сниппет:

          $parent = $modx-> getParent ($docid);
          $parent_parent = $modx-> getParent ($parent['id']);
          $folderRegion_v = $modx->getTemplateVar('folderRegion','*',$parent_parent['id']);
          $doc = $folderRegion_v['value'];
          


          и вызвать так:

          @EVAL return $modx->runSnippet("tvsLinks",array('depth'=>1,'folder'=>1));

            [img]http://jurist-info.ru/pic/rrr.jpg[/img]

            Безжалостный пияр!
            Artima -- неуч!
            Осторожно: преступная локализация -- modx-cms.ru
            Баштанник Андрей -- мегапрограммер из Белоруссии и поедатель говна, очень критично настроенный молодой человек!

            Дисклеймер для общительных: даю сам себе право транслировать в открытый эфир содержание лички, just for fun
            • 22299
            • 13 Posts
            выдает ошибку, при просмотре карточки отеля:

            Warning: Cannot modify header information - headers already sent by (output started at /home/u78583/oxanapekkeru/03/manager/includes/document.parser.class.inc.php:757) in /home/u78583/oxanapekkeru/03/manager/includes/document.parser.class.inc.php on line 2739
            « MODx Parse Error »MODx encountered the following error while attempting to parse the requested resource:
            « Execution of a query to the database failed - You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '' at line 1 »
                  SQL: SELECT tv.*, IF(tvc.value!='',tvc.value,tv.default_text) as value FROM `b78583_sait03`.`modx_site_tmplvars` tv INNER JOIN `b78583_sait03`.`modx_site_tmplvar_templates` tvtpl ON tvtpl.tmplvarid = tv.id LEFT JOIN `b78583_sait03`.`modx_site_tmplvar_contentvalues` tvc ON tvc.tmplvarid=tv.id AND tvc.contentid = '' WHERE tv.name IN ('folderRegion') AND tvtpl.templateid = 
                  [Copy SQL to ClipBoard]
             
            Parser timing
              MySQL: 	0,0040 s	(1 Requests)
              PHP: 	1287516881,7775 s	 
              Total: 	1287516881,7815 s
              • 9085
              • 630 Posts
              Quote from: opekke at Oct 19, 2010, 02:35 PM

              выдает ошибку, при просмотре карточки отеля:

              Quote from: openagate at Oct 19, 2010, 02:12 PM

              @EVAL return $modx->runSnippet("tvsLinks",array('depth'=>1,'folder'=>1));


              Quote from: opekke at Oct 18, 2010, 04:23 PM

              @EVAL return $modx->runSnippet("tvsLinks",array(’doc’=>4,’depth’=>0,’folder’=>0))

              вроде у tvsLinks 3 параметра раньше было? первым, видимо, надо ID документа поставить...
                Правильно заданный вопрос повышает вероятность получения нужного ответа.
                Что-то не работает? Загляните в лог ошибок!
                Есть проблема? "Локализуйте" её!
                Ответы на большинство вопросов по MODx | MODx RTFM | API Evo Revo | галопом по Европам Азиям smiley wikibooks(ru) Ditto(en) | Wayfinder e-book | Заметки и о MODx
                • 22299
                • 13 Posts
                задача как раз и стоит, заставить его автоматом просчитывать ’doc’ smiley
                  • 9085
                  • 630 Posts
                  Quote from: opekke at Oct 20, 2010, 03:09 AM

                  задача как раз и стоит, заставить его автоматом просчитывать ’doc’ smiley

                  $doc = $folderRegion_v['value'];
                  
                  видимо, это и будет нужный ID... вставьте правильно только... smiley
                    Правильно заданный вопрос повышает вероятность получения нужного ответа.
                    Что-то не работает? Загляните в лог ошибок!
                    Есть проблема? "Локализуйте" её!
                    Ответы на большинство вопросов по MODx | MODx RTFM | API Evo Revo | галопом по Европам Азиям smiley wikibooks(ru) Ditto(en) | Wayfinder e-book | Заметки и о MODx
                    • 22299
                    • 13 Posts
                    так вставляю, ошибку выдает huh

                    а где в коде ошибка, раз Вы говорите чтоб вставила правильно?
                      • 9085
                      • 630 Posts
                      @EVAL return $modx->runSnippet("tvsLinks",array('depth'=>1,'folder'=>1));

                      @EVAL return $modx->runSnippet("tvsLinks",array($doc,’depth’=>1,’folder’=>1));

                      Видимо, пропущено... (про корректное вычисление $doc ничего не скажу)
                        Правильно заданный вопрос повышает вероятность получения нужного ответа.
                        Что-то не работает? Загляните в лог ошибок!
                        Есть проблема? "Локализуйте" её!
                        Ответы на большинство вопросов по MODx | MODx RTFM | API Evo Revo | галопом по Европам Азиям smiley wikibooks(ru) Ditto(en) | Wayfinder e-book | Заметки и о MODx