Jump to main content Jump to doc navigation

Что такое @DIRECTORY привязка?

Привязка DIRECTORY считывает содержимое каталога. Это может быть очень полезно, когда вы связываете его с виджетом управления списком, например, если вы хотите что-то сделать, например, предоставьте пользователю список изображений логотипов, которые нужно выбрать для страницы, или выберите, какой файл mp3 воспроизводится на определенной странице. ПОМНИТЕ: он возвращает ВСЕ содержимое каталога, включая все файлы и все каталоги - за единственным исключением каталогов с префиксом в виде точки.

Использование

Когда вы создаете переменную шаблона, поместите следующий текст в поле Значения параметров ввода:

@DIRECTORY /path/to/some_directory

Часто это связано с типом ввода «DropDown List Menu», чтобы пользователь мог выбрать файл из списка.

В MODX Revolution путь, используемый для привязки @DIRECTORY, относится к корню сайта. Это НЕ абсолютный путь к файлу. Если вы хотите перечислить файлы выше корня вашего сайта, вы должны использовать синтаксис "..", например, @DIRECTORY /../dir_above_root Эта привязка будет работать с косой чертой в имени каталога или без нее.

Если вы используете привязку @DIRECTORY для вашей переменной шаблона [[*myTV]], вы можете легко представить, что в коде вашего шаблона могут быть такие вещи, как:

<img src="[[*myTV]]" alt="" />

Дополнительная информация

Можете ли вы отфильтровать, какие файлы выбраны? Например, с помощью *.jpg? Следующее НЕ РАБОТАЕТ:

@DIRECTORY /list/*.jpg  # doesn't work!

Существуют сниппеты кода PHP, которые эмулируют эту функцию. Смотрите следующую ветку форума: https://forums.modx.com/index.php/topic,3124.0.html

Безопасность

В зависимости от того, как файл используется на странице, это может представлять угрозу безопасности. Будьте осторожны, если вы использовали эту привязку для выбора файлов JavaScript для выполнения. Если у пользователя была возможность загрузить (и, следовательно, выполнить) файл JavaScript? Кроме того, всегда с осторожностью позволяйте пользователям видеть вашу структуру каталогов.

Смотрите также

Support the team building MODX with a monthly donation.

The budget raised through OpenCollective is transparent, including payouts, and any contributor can apply to be paid for their work on MODX.

Backers

  • modmore
  • STERC
  • Digital Penguin
  • Jens Wittmann – Gestaltung & Entwicklung
  • Fabian Christen
  • Dannevang Digital
  • Sepia River Studios
  • CrewMark
  • Chris Fickling
  • deJaya
  • eydolan
  • Lefthandmedia
  • Murray Wood
  • Following Sea
  • Anton Tarasov
  • Stéphane Jäggi
  • Raffy
  • Snow Creative
  • A. Moreno
  • Nick Clark
  • JT Skaggs
  • Helen
  • YJ
  • krisznet
  • Richard
  • Yanni

Budget

$306 per month—let's make that $500!

Learn more