Вопросы и ответы
Вебмастеру
Мета опции записи
Через meta-опции можно добавить к записям дополнительные поля. Они задаются в custom/my_meta.ini
и обрабатываются почти как обычные опции. Отличие в том, что у них нет типа и они имеет немного меньше возможностей (нет multicheckbox). Кроме того meta-опции записей имеют другой механизм работы, но в целом их синтаксис очень похож на обычные ini-опции.
«Дефолтные» meta-опции размещаются в shared/meta/meta.ini
и расширяются файлом admin/plugins/admin_page/meta.ini
.
Для метаполей также доступен дополнительный тип datetime, который добавляет выбор даты и времени.
Также у мета можно указать ключ page_type, которая управляет отображением опции при редактировании. Если указанный тип записи не совпадает, метапопция не выводится. Учитывайте, что при смене типа записи, для использования page_type нужно будет перезагрузить редактируемую страницу (а не по фоновому сохранению).
Получение meta-опций
Если мета-опция используется в type_foreach-файле, то получить её значение можно с помощью метода meta_val()
, например:
// meta_val($meta = '', $default = '', $razd = ', ')
$alt_title = $p->meta_val('my-header-alt');
Сразу вывести значение meta можно с помощью метода meta()
:
// meta($meta = '', $do = '', $posle = '', $razd = ', ')
$p->meta('my-header-alt');
Или при форматированном выводе с помощью line()
с помощью цпциальной конструкции «[meta@НАЗВАНИЕ]»:
$p->line('[meta@my-header-alt]');
В редких случаях может потребоваться выводить мета напрямую из базы данных. Для этого используется функция mso_get_meta()
.
// подключить библиотеку для работы с meta
require_once( getinfo('common_dir') . 'meta.php' );
$mytitle = mso_get_meta('mytitle', 'category', $current_cat_id, 'meta_value');