We launched new forums in March 2019—join us there. In a hurry for help with your website? Get Help Now!
    • 51135
    • 4 Posts
    Здравствуйте. Пытаюсь создать свой тип TV-поля (тип ввода), который загружает изображение, назовем этот тип myTypeImage. Проблема в том, что при выводе TV выводится только относительный путь

    Выводится: imagename.jpg
    А должно так: /assets/images/imagename.jpg

    Медиаресурс выводится только у типов image и file, надо как-то туда добавить и мой тип myTypeImage. Указывается это в /core/model/modx/modtemplatevar.class.php, строка 291

    public function prepareOutput($value, $resourceId= 0) {
            /* Allow custom source types to manipulate the output URL for image/file tvs */
            $mTypes = $this->xpdo->getOption('manipulatable_url_tv_output_types',null,'image,file');
            ...
    }


    Пытался сделать так, но ничего не вышло
    $this->xpdo->setOption('manipulatable_url_tv_output_types','image,file,myTypeImage');
      • 51135
      • 4 Posts
      Нашел решение, но хотелось бы услышать мнение более опытных разработчиков

      Плагин привязал к событию "OnWebPageInit" и написал туда следующий код:
      case 'OnWebPageInit':
              $this->xpdo->setOption('manipulatable_url_tv_output_types', 'image,file,myTypeImage');
              break;



      Или даже так, чтобы сохранялись и другие типы полей
      case 'OnWebPageInit':
              $mTypes = $this->xpdo->getOption('manipulatable_url_tv_output_types',null,'image,file').',myTypeImage';
              $this->xpdo->setOption('manipulatable_url_tv_output_types', $mTypes);
              break;
      [ed. note: jeendream last edited this post 11 years, 1 month ago.]