We launched new forums in March 2019—join us there. In a hurry for help with your website? Get Help Now!
    • 23145
    • 36 Posts
    Просмотрел много ресурсов, но так и не нашел вразумительного ответа -
    почему может не отображаться значение TV, вставленное в шаблон в виде [*tv*]

    Альтернативный способ

    $o=$modx->getDocument($id,'content'); return $o['content'];

    также не сработал.
    В чем может быть проблема?
    Спасибо!
      • 23145
      • 36 Posts
      sorry, не тот код вставил

      $o=$modx->getTemplateVarOutput("product", $id);
      echo $o['product'];
        • 15034
        • 55 Posts
        Quote from: petrov.go at Sep 09, 2010, 07:55 AM

        Просмотрел много ресурсов, но так и не нашел вразумительного ответа -
        почему может не отображаться значение TV, вставленное в шаблон в виде [*tv*]


        А "руками" пишете непосредственно в шаблоне [*тв*] (или сниппет возвращает)? А в параметрах TV указано, какой шаблон его может использовать?
        а "Визуальный компонент", "Свойства компонента (widget)": точно все там правильно у вас написано? (это в закладке Управление элементами -> Параметры (TV)).
        а если попробовать [+tv+](ну я ж не в курсе, каким образом у вас ТВ берется)?

          Мужчина должен говорить только три слова: люблю, куплю, поедем!
          • 23145
          • 36 Posts
          Пробовал вставлять и [*tv*], и [+tv+], и в шаблоне, и в сниппете.
          Шаблон, который использует этот TV, естественно, указан.
          "Визуальный компонент" указан не был. Попробовал HTML entities. Но все почему-то безрезультатно.
          Да, м.б. это важно - версия MODx 1.0.4
            • 15034
            • 55 Posts
            ну у меня тоже 1.0.4

            Какой TV-то? Что должно быть на выходе? Скажите, я у себя попробую прикрутить, интересно же)
              Мужчина должен говорить только три слова: люблю, куплю, поедем!
              • 23145
              • 36 Posts
              tv - текстовый, для хранения цены товара
                • 15034
                • 55 Posts
                Ну и .. делается все нормально, никаких траблов.

                Наподобие вот такого ведь Вам надо:


                Как:
                Делаем страницу "Список товаров", у нее создаем 3 дочерних дока "Товар1", "Товар2", "Товар3". У дочерних пусть будет шаблон "Товар".
                Заводим TV под названием price, тип ввода указываем Text, визуальных компонентов никаких не надо, значение по умолчанию - 0, выбираем шаблон для которого это нужно -"Товар".
                Пишем маленький чанк, что-то вроде:
                <a href="[~[+id+]~]"><h2>[+title+]</h2>Цена:  [+price+]  </a>

                называем как-нибудь, я назвала его otl.

                В принципе все, для вывода списка товаров с ценами в родительском доке "Список товаров" должен быть такой Ditto:
                [!Ditto? &tpl=`otl`!]


                Аналогичным образом "прикручивается" фото товара - делаем TV с типом image, и указанием виз. компонента, а в чанке, кот. служит шаблоном для вывода, указываем [+photo+].


                Мысли вслух: если делаете интернет-магазин, есть клевое решение под названием ShopKeeper.

                UPD. А вот если у вас и по такой схеме TV выводиться не будет, то уже стоит призадуматься.
                  Мужчина должен говорить только три слова: люблю, куплю, поедем!
                  • 15034
                  • 55 Posts
                  Отписались б хоть, получилось или нет
                    Мужчина должен говорить только три слова: люблю, куплю, поедем!
                    • 23145
                    • 36 Posts
                    К сожалению, не получилось, хотя все выполнил буквально.

                    Вообще, задача несколько проще - нужно вывести цену товара на странице, где дается его описание.
                    Можно было бы, конечно, сделать "кривым" способом - использовать для указания цены одно из стандартных полей. Например, расширенный заголовок. А потом на странице выводить

                    Цена: [*longtitle*]


                    Задача этим вроде бы решается, но во-первых поле longtitle хотелось бы использовать по прямому назначению, во-вторых - контент-менеджеру надо объяснять, что вместо расширенного заголовка надо писать цену...
                    да и вообще как-то не профессионально, "заплатка"...

                    Я так понимаю, TV задумано как раз для решения таких проблем. Но не работает почему-то ни в какую. Казалось бы, тут и ошибиться негде - пиши себе [+tv+] в шаблоне, и всё. Странно, неужели только у меня такой глюк? (
                      • 22301
                      • 1,084 Posts
                      а точно значение цены сохраняется в ТВаре после сохранения документа?

                      попробуйте через сниппет с такой конструкцией вывести:
                      $price = $modx->documentObject[’имя ТВари’];
                      echo $price;
                        [img]http://jurist-info.ru/pic/rrr.jpg[/img]

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

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