Cms assets: Asset Compilation — Services — Winter CMS Documentation

полей активов | Документация Craft CMS

Поля ресурсов позволяют связать ресурсы с другими элементами.

Настройки

Поля ресурсов имеют следующие настройки:

  • Ограничить загрузку в одну папку?  – Должна ли загрузка файлов/связь ограничиваться одной папкой.

    Если этот параметр включен, будет виден следующий параметр:

    • Местоположение загрузки  — место, в которое следует сохранять файлы, перетащенные непосредственно в поле. 

    Если этот параметр отключен, будут видны следующие параметры:

    • Источники  – с какими объемами активов (или другими источниками индексов активов) поле должно связывать активы.
    • Местоположение загрузки по умолчанию  — Местоположение по умолчанию, в котором должны сохраняться файлы, перетаскиваемые непосредственно в поле.
  • Ограничить разрешенные типы файлов? Должна ли поле иметь возможность загружать/связывать файлы только определенного типа (типов).

  • Ограничение — максимальное количество объектов, которые могут быть одновременно связаны с полем. (По умолчанию нет ограничений.)

  • Режим просмотра – Как поле должно отображаться для авторов.

  • Метка выбора — метка, которая должна использоваться на кнопке выбора поля.

Многосайтовые настройки

При многосайтовых установках также будут доступны следующие настройки (до Расширенный ):

  • Связать активы с определенного сайта?  – разрешать ли отношения только к объектам с определенного сайта.

    Если этот параметр включен, появится новый параметр, в котором вы сможете выбрать сайт.

    Если отключить, связанные ресурсы всегда будут извлекаться с текущего сайта.

  • Управление отношениями для каждого сайта — Должен ли каждый сайт получать свой собственный набор связанных активов.

Динамические пути к подпапкам

Пути к подпапкам, определенные настройками Место загрузки и Место загрузки по умолчанию , могут дополнительно содержать теги Twig (например, новости/{{ slug }} ).

Здесь можно использовать любые свойства, поддерживаемые исходным элементом (элементом с полем Assets).

Если вы хотите включить идентификатор или UID записи в динамический путь к подпапке, используйте {canonicalId} или {canonicalUid} , а не {id} или {uid} , поэтому используется идентификатор или UID исходной записи, а не редакция/черновик.

Если вы создаете поле Assets в поле Matrix, исходным элементом будет блок Matrix, а не элемент, на котором создается поле Matrix.

Таким образом, если ваше поле Matrix прикреплено к записи и вы хотите вывести идентификатор записи в динамическом пути к подпапке, используйте owner. id вместо id .

Если отображаемый путь к подпапке оказывается пустым или содержит начальную или конечную косую черту (например, foo/ ) или пустой сегмент (например, foo//bar ), Craft интерпретирует это как признак того, что переменная в шаблоне подпапки не удалось успешно разрешить, и путь будет считаться недействительным. Если вы намеренно выводите пустой сегмент, выведите :ignore: . Например, если вы хотите вывести первую выбранную категорию или ничего, если ее нет, сделайте следующее: 

В поле «Поле»

В полях «Активы» перечислены все активы, связанные в настоящее время, с кнопкой для выбора новых.

При выборе Добавить ресурс откроется модальное окно, в котором вы сможете найти и выбрать дополнительные ресурсы, а также загрузить новые.

Вы также можете загружать ресурсы, перетаскивая файлы прямо в поле ресурсов или модальное окно.

Редактирование встроенного ресурса

При двойном щелчке по связанному ресурсу появится HUD, где вы можете отредактировать заголовок ресурса и настраиваемые поля, а также запустить Редактор изображений (если это изображение).

Вы можете выбрать, какие настраиваемые поля должны быть доступны для ваших активов из Настройки Активы [Имя тома] Расположение полей .

Разработка

Запрос элементов с полями активов

При запросе элементов, у которых есть поле «Активы», вы можете отфильтровать результаты на основе данных поля «Активы», используя параметр запроса, названный в честь дескриптора вашего поля.

Возможные значения:

Значение Извлекает элементы…
':empty:' , которые не имеют связанных активов.
':notempty:' , у которых есть хотя бы один связанный актив.
100 , которые связаны с активом с идентификатором 100.0170
[':пусто:', 100, 200] без связанных активов или связаны с активом с идентификатором 100 или 200.
['0,', 10 200] , которые связаны с активами с идентификаторами 100 и 200.
Актив (opens new window) объект, которые связаны с активом.
объект AssetQuery (opens new window), который связан с любым из результирующих активов.
  • Twig
  • PHP

Работа с данными поля Assets

Если в вашем шаблоне есть элемент с полем Assets, вы можете получить доступ к связанным с ним активам, используя дескриптор поля Assets:

9000 Twig:

  • PHP
  • Это даст вам запрос актива, подготовленный для вывода всех связанных активов для данного поля.

    Чтобы перебрать все связанные активы, вызовите all() (откроется новое окно), а затем выполните цикл по результатам:

    • Twig
    • PHP

    При использовании assets.url или assets.getUrl() исходный том актива должен иметь В противном случае результат всегда будет пустым.

    Если вам нужен только первый связанный ресурс, вместо этого вызовите one() (откроется новое окно) и убедитесь, что он что-то вернул:

    • Twig
    • PHP

    Если вам нужно проверить связанные ресурсы, не извлекая их, вы можете позвонить в exists() (открывается в новом окне):

    • Twig
    • PHP

    Вы также можете установить параметры запроса актива. Например, чтобы убедиться, что возвращаются только изображения, вы можете установить параметр вида:

    • Twig
    • PHP

    Всегда полезно клонировать запрос актива с помощью функции clone() перед настройкой его параметров, поэтому параметры не будут иметь неожиданных последствий в дальнейшем в вашем шаблоне.

    Сохранение полей активов

    Если у вас есть форма элемента, такая как форма ввода (открывается в новом окне), которая должна содержать поле «Активы», вам нужно будет отправить значение поля в виде списка идентификаторов активов в порядке вы хотите, чтобы они были связаны.

    Например, вы можете создать список флажков для каждого из возможных отношений:

    Затем вы можете сделать список флажков сортируемым, чтобы пользователи могли контролировать порядок связанных активов.

    Создание новых ресурсов

    Поля ресурсов также могут обрабатывать новые загрузки файлов:

    Не забудьте установить enctype="multipart/form-data" в теге

    , чтобы ваш браузер знал, что нужно отправить форму как составной запрос.

    Кроме того, вы можете отправить данные файла в кодировке base64, которые будут декодированы в поле «Активы» и обработаны как загруженный файл. Для этого вам нужно указать как данные, так и имя файла, например:

    . Независимо от того, загружаете ли вы новые активы, вы можете захотеть сохранить уже существующие в поле и добавить новые в набор, а не заменять его.

    Вы можете сделать это, передав каждый из связанных идентификаторов активов в массиве данных поля, как мы здесь со скрытыми входными данными формы:

    См.

    также

    • Запросы ресурсов
    • craft\elements\Asset (opens new window)
    • Отношения

    Основы CMS: различные типы ресурсов страницы

    Существует множество различных типов ресурсов страницы2 CMS. По мере развития потребностей веб-сайта университета могут быть добавлены некоторые новые типы, а другие могут выйти из употребления. Следующее обсуждение охватывает многие ресурсы типа Page, которые сейчас широко используются.

     

    Некоторые ресурсы страницы предназначены для отображения в качестве отдельных веб-страниц:

    • Стандартные страницы содержимого , как эта;
    • Домашние страницы отдела , которые можно найти на различных сайтах;
    • Целевые страницы , которые также могут выступать в качестве домашней страницы сайта или отдела;
    • Статья или Новости страницы для выпусков новостей, объявлений и т. п.;
    • Списки типа страниц , для отображения ссылок на проиндексированные статьи на определенном сайте или в области;
    • Другие страницы пользовательского/настраиваемого типа, такие как более ранний стиль Modular Home или страницы специального дизайна, которые могли быть созданы маркетингом для определенных целей, например страницы UH Calendar ;

    Примечание. Страницы, предназначенные для отображения в качестве автономных веб-страниц, должны иметь системное имя из «index». Исключения могут включать страницы типа статьи, которые, как ожидается, будут существовать вместе в одной и той же родительской папке и которым нужны уникальные идентифицирующие имена; и специализированные страницы со списками, такие как архивы новостей.

    Другие активы типа страницы предназначены для хранения специализированного, отдельно разработанного и отдельно управляемого контента, который затем может быть вызван в и интегрирован в другие определенные типы веб-страниц с помощью встроенных средств выбора , предназначенных для именно эта цель. Некоторые специализированные ресурсы типа страницы:

    • Пользовательский верхний и/или нижний колонтитул  ( , например, ресурсы страницы «header-local» / «custom-footer»)
    • Галереи изображений ( например, ресурс страницы «галерея»)
    • Функции слайд-шоу ( например, ресурс страницы «функции»)
    • Spiff Banks и Домашние списки Spiff (например, ресурс страницы «spiff-bank»)
    • Некоторые активы типа XHTML также могут иметь статус «Актив страницы» и отображать значок ресурса Страницы, но при этом иметь небольшую структуру или вообще не иметь структуры, кроме того, что имеет простой блок XHTML (по сути, немного больше, чем редактор WYSIWYG).

    Всякий раз, когда обновляется специализированная «подстраница», необходимо повторно опубликовать как подстраницу, так и вызывающую ее страницу. См. отчет More button ‘s Relationships , чтобы просмотреть, какие (если есть) отображаемые страницы вызываются/используются подстраницами.

    Примечание: В случае с обновленными верхними и нижними колонтитулами лучше повторно опубликовать как обновленные верхний и/или нижний колонтитулы, так и домашнюю страницу, отвечающую за вызов их в своей области. Однако не каждую страницу, отображающую определенный верхний и нижний колонтитулы, необходимо переиздавать, так как «внутренние» страницы области будут стремиться отобразить верхний и/или нижний колонтитул, указанные на их домашней странице. Однако браузеры кэшируют информацию, поэтому может потребоваться принудительное обновление страниц, прежде чем можно будет увидеть обновленные верхний и нижний колонтитулы.

     

    Как узнать, какой тип ресурса страницы вы редактируете

    Чтобы просмотреть «тип» ресурса страницы:
    Выберите ресурс страницы и нажмите кнопку «Подробности» >> вкладка «Дизайн»

    Здесь показана панель Details >> Design для типичного ресурса Standard Content Page.

    «Тип контента» для актива страницы будет определять, какие Изменить параметры доступны для этой страницы. У большинства типов страниц есть много похожих параметров, но у большинства также есть некоторые параметры, которые уникальны только для них.

    Например, на большинстве страниц предусмотрена та или иная форма навигации по заголовкам и цепочкам навигации и, конечно же, область содержимого; тогда как те типы страниц, которые могут действовать как домашняя страница (например, тип целевой страницы и тип домашней страницы), также могут управлять тем, какой заголовок может использоваться, или определять, могут ли быть использованы пользовательские сценарии. и/или таблицы стилей будут вызываться всеми страницами в пределах его области действия.

    Дополнительные сведения о кнопке «Сведения» и метаданных см. в разделе «Понимание метаданных в каскаде».

    В целях общей иллюстрации ниже приведены некоторые примеры панелей редактирования, с которыми вы можете столкнуться.