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);
    }