Удобный загрузчик файлов
для modx revolution средствами MIGX

Удобный загрузчик файлов
для modx revolution средствами MIGX

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


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

Что он умеет:

После установки MIGX, идем в Инструменты → Источники файлов

Создаем новый источник файлов с именем: FileUpload. Тип источника файлов - файловая система.

Создаем новый источник файлов

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

assets/files/ - это папка для загрузки, ее следует тоже создать и открыть для записи.

создаем следующие настройки

Создадим новый TV, с параметрами:

Само собой выберем шаблон для которого этот TV выводить. После чего идем в настройки MIGX, у меня это КомпонентыMIGX. Выбираем вкладку MIGX и создаем новую конфигурацию: fileUpload, настройки не трогаем и сохраняем.

По созданной конфигурации кликаем правой кнопкой мыши и выбираем Импорт/Экспорт. Куда копируем следующие настройки:

{
  "formtabs":[
    {
      "MIGX_id":1,
      "caption":"\u0424\u0430\u0439\u043b",
      "print_before_tabs":"0",
      "fields":[
        {
          "MIGX_id":1,
          "field":"title",
          "caption":"\u0417\u0430\u0433\u043e\u043b\u043e\u0432\u043e\u043a",
          "description":"",
          "description_is_code":"0",
          "inputTV":"",
          "inputTVtype":"",
          "validation":"",
          "configs":"",
          "sourceFrom":"config",
          "sources":"[]",
          "inputOptionValues":"",
          "default":""
        },
        {
          "MIGX_id":2,
          "field":"image",
          "caption":"\u0424\u0430\u0439\u043b",
          "description":"",
          "description_is_code":"0",
          "inputTV":"",
          "inputTVtype":"file",
          "validation":"",
          "configs":"",
          "sourceFrom":"migx",
          "sources":"[]",
          "inputOptionValues":"",
          "default":""
        },
        {
          "MIGX_id":3,
          "field":"description",
          "caption":"\u041e\u043f\u0438\u0441\u0430\u043d\u0438\u0435",
          "description":"",
          "description_is_code":"0",
          "inputTV":"",
          "inputTVtype":"",
          "validation":"",
          "configs":"",
          "sourceFrom":"config",
          "sources":"[]",
          "inputOptionValues":"",
          "default":""
        }
      ]
    }
  ],
  "contextmenus":"",
  "actionbuttons":"upload||loadfromsource",
  "columnbuttons":"",
  "filters":"[]",
  "extended":{
    "migx_add":"\u0414\u043e\u0431\u0430\u0432\u0438\u0442\u044c",
    "formcaption":"",
    "update_win_title":"",
    "win_id":"migxFiles",
    "maxRecords":"",
    "addNewItemAt":"bottom",
    "multiple_formtabs":"",
    "extrahandlers":"",
    "packageName":"",
    "classname":"",
    "task":"",
    "getlistsort":"",
    "getlistsortdir":"",
    "use_custom_prefix":"0",
    "prefix":"",
    "grid":"",
    "gridload_mode":1,
    "check_resid":1,
    "check_resid_TV":"",
    "join_alias":"",
    "has_jointable":"yes",
    "getlistwhere":"",
    "joins":"",
    "cmpmaincaption":"",
    "cmptabcaption":"",
    "cmptabdescription":"",
    "cmptabcontroller":"",
    "winbuttons":"",
    "onsubmitsuccess":"",
    "submitparams":""
  },
  "columns":[
    {
      "MIGX_id":1,
      "header":"ID",
      "dataIndex":"MIGX_id",
      "width":10,
      "renderer":"",
      "sortable":"false",
      "show_in_grid":1
    },
    {
      "MIGX_id":2,
      "header":"\u0417\u0430\u0433\u043e\u043b\u043e\u0432\u043e\u043a",
      "dataIndex":"title",
      "width":20,
      "sortable":"false",
      "show_in_grid":1,
      "renderer":"",
      "clickaction":"",
      "selectorconfig":"",
      "renderchunktpl":"",
      "renderoptions":"[]"
    },
    {
      "MIGX_id":3,
      "header":"\u0421\u0441\u044b\u043b\u043a\u0430",
      "dataIndex":"link",
      "width":"",
      "sortable":"false",
      "show_in_grid":1,
      "renderer":"this.renderChunk",
      "clickaction":"",
      "selectorconfig":"",
      "renderchunktpl":"<a href=\"\/assets\/files\/[[+_request.id]][[+_request.resource_id]]\/[[+image]]\" target=\"_blank\">[[+image]]<\/a>",
      "renderoptions":"[]"
    }
  ]
}

После всех действий в дополнительных полях появится вот такой загрузчик:

Удобный загрузчик файлов для modx revolution средствами MIGX

При редактировании/добавлении файлов, не будет ничего лишнего, только файлы загруженные к данному ресурсу:

Удобный загрузчик файлов для modx revolution средствами MIGX

Для русификации кнопок добавить в файл /core/components/migx/lexicon/ru/default.inc.php

$_lang['migx.upload_images'] = 'Загрузить файлы';
$_lang['migx.load_from_source'] = 'Импорт из файловой системы';
$_lang['migx.max_records_alert'] = 'Максимальное количество записей достигнуто';

В итоге имеем кнопки:

Очень простое и красивое решение для загрузчика файлов, снимаю шляпу перед бесконечными возможностями MIGX. Статья написана на основе документации.


05 февраля 2014, 13:41
modx revolution


Авторизация
Зайди на сайт с помощью соц. сети:
Тебе — сюда нельзя!!!
На сайте присутствует апокалиптичная тарабарщина
и нецензурная брань.
Хмм... и мне-то вообще-то насрать...
Продолжить
Нет, уйти с сайта