We launched new forums in March 2019—join us there. In a hurry for help with your website? Get Help Now!
    • 49562
    • 25 Posts
    привет

    не выводится tv переменная-изображение при вызове сниппета в шаблоне. тв принадлежит
    этому шаблону, конечно
    вызов сниппета [[!getLogo]]
    код сниппета return $modx->getObject('modResource', 4)->getTVValue('logo');

    помогите

    [ed. note: olegall last edited this post 11 years, 10 months ago.]
      • 49529
      • 196 Posts
      olegall, ваш код рабочий. Вы абсолютно уверены, что документу id=4 назначен шаблон с TV logo и его значение не пусто?

      Ваш код, кстати, выводин не картинку, а только путь до нее. Если вам из сниппета нужно выводить именно картинку, то надо сделать
      return '<img src="' . $modx->getObject('modResource', 4)->getTVValue('logo') . '">';
      


      А еще лучше через $modx->getChunk, чтобы не мешать логику и разметку
        • 49562
        • 25 Posts
        return $modx->getObject('modResource', 4)->getTVValue('logo');

        так работает

        return '<img src="' . $modx->getObject('modResource', 4)->getTVValue('logo') . '">';
        - это неправильно. getTVValue('logo') возвращает картинку, а не путь. А мне кстати нужен именно путь. Как его получить?
          • 49529
          • 196 Posts
          Если вам нужен именно путь, то в Output options этой TV нужно указать default (предполагаю, что сейчас стоит Image).
          Если вы не хотите этого делать, то "сырое" значение TV можно получить так:
          $tv = $modx->getObject('modTemplateVar',array('name'=>'logo'));
          return $tv->getValue(4);


            • 49601
            • 2 Posts
            Кстати если использовать media source то
            return $modx->getObject('modResource', 4)->getTVValue('logo');

            будет работать
              Interneto svetainių kūrimas - MagellanMedia.lt
              • 49562
              • 25 Posts
              вопрос решён, всем спасибо