Skip to content
GoogleSheets
GoogleSheets
Импорт и экспорт товаров / ресурсов / заказов / пользователей
  1. Компоненты
  2. GoogleSheets
  3. Экспорт
  4. Ресурсы

Ресурсы (modResource)

Стандартные поля ресурса

ПолеНазвание
idId ресурса
pagetitleЗаголовок
longtitleРасширенный заголовок
descriptionОписание
introtextАннотация
templateШаблон (id)
aliasПсевдоним
menutitleПункт меню
link_attributesАтрибуты ссылки
hidemenuСкрыть из меню
publishedОпубликован
parentРодительский ресурс (id)
class_keyТип ресурса
content_typeТип содержимого
content_dispoМестонахождение содержимого
menuindexПозиция в меню
publishedonДата, когда ресурс был опубликован
pub_dateДата публикации
unpub_dateДата отмены публикации
isfolderКонтейнер
searchableДоступен для поиска
alias_visibleИспользовать псевдоним в пути псевдонимов
richtextИспользовать HTML-редактор
uri_overrideЗаморозить URI
uriURI
cacheableКэшируемый
deletedУдалён
contentСодержимое (контент)
context_keyКонтекст
tv1TV c идентификатором 1

Модификации полей

ПолеНазвание
template_nameШаблон (название)
parent_nameРодительский ресурс (название)

ms2Gallery

ПолеНазвание
imagesсписок картинок

Все файлы картинок должны быть на сервере

SEO Tab

ПолеНазвание
seo.indexИндексируемость поисковиками
seo.followСледование по ссылкам
searchableУчастие страницы во внутреннем поиске по сайту. Стандартное поле ресурса
seo.sitemapВключение страницы в Sitemap.xml
seo.priorityПриоритет
seo.changefreqЧастота обновления содержимого
seo.redirect301 редиректы
uri_overrideЗаморозить URL псевдоним для этой страницы. Стандартное поле ресурса
uriURL для заморозки. Стандартное поле ресурса

SEO Pro

ПолеНазвание
keywords || seo.keywordsКлючевые слова

Пример

Поля экспорта: id,pagetitle,description,tv1

Результат в таблице:

Результат в таблице

Системные события

Класс gsResource генерирует следующие события:

php
<?php
switch ($modx->event->name) {
  // получение списка ресурсов
  case 'gsOnBeforeGetResource':
    // $query - запрос выборки
    // $range - название листа таблицы, куда будут экспортироваться данные
    break;
  case 'gsOnGetResource':
    // $resources - массив ресурсов со всеми полями
    // $range - название листа
    break;
}

Примеры

  1. Выбираем ресурсы с определенным шаблоном

    php
    <?php
    if ($modx->event->name == 'gsOnBeforeGetResource') {
      $query->where(array('template' => 3)); // 3  - id шаблона
    }
  2. Меняем значение поля publishedon (миллисекунды => дата)

    php
    <?php
    if ($modx->event->name == 'gsOnGetResource') {
      $modx->event->params['resources'] = array_map(function ($resource) {
        if (!empty($resource['publishedon'])) {
          $resource['publishedon'] = date("d-m-Y",$resource['publishedon']);
        }
        return $resource;
      }, $resources);
    }