mvtDocs: удобное хранение документов

Бесплатный компонент для удобного хранения файлов документов (инструкций, сертификатов и т.д.), а также внешних ссылок (например на ролики youtube) для ресурсов / товаров MS2.
Описание / загрузить в modstore.pro

Описание функционала:

Для любого ресурса можно прицеплять множество файлов и ссылок на внешние файлы.
Особенностью является то, что компонент может автоматически добавлять связи приложенных документов для всех связанных товаров MS2. Например, у вас есть товар и у него 5 аналогов, связанных штатным механизмом связей MS2, уставите системную настройку «Создавать связи автоматически» = «Да» и при загрузке файла он автоматически будет связан с аналогами данного товара. Важно: во избежание путаницы, автосвязи строятся только в том случае, если данный товар является master'ом по отношению к аналогам.

Можно ограничить список доступных ресурсов каким-то каталогом.
Можно транслитерировать имена файлов в соответствии с установками дружественных урлов (translit = russian).
Работа с файлами идёт через указанный в настройках источник файлов, поэтому вы можете хранить файлы не на сервере, а в облаке (Swift нам в помощь!). Профит очевиден, т.к. документации бывает очень много…

В комплекте есть один чанк и один сниппет. И то и другое рассчитано на pdoTools + fenom. Кому не нужно — скопируйте сниппет и раскомментируйте кусочек кода отдающий чанк вместо массива.

Настройка и использование чрезвычайно просты, поэтому выложу картинками:
Настройки:


Работа:


Результат:


Обновление до версии 1.0.4-beta.
Добавлен выбор идентификаторов связи MS2 при для формировании связей файл-товары. Например, у вас есть 2 связи: 1 — аналоги, 2 — аксессуары. Поставим опцию «Использовать только указанные связи» = 1 и получим связи только для аналогов.
Алексей Шумаев
26 февраля 2019, 13:26
modx.pro
5
626
+18
Поблагодарить автора Отправить деньги

Комментарии: 12

Это сообщение было удалено
    Это сообщение было удалено
    Yar
    Yar
    26 февраля 2019, 14:13
    0
    А при загрузке файлов через mvtDocs на сервере будут создаваться отдельные папки для каждого ресурса? Как это делает Tickets или MsGallery
    Валерий
    24 марта 2019, 15:55
    0
    Подскажите, пожалуйста, как через msProducts вывести только те товары, в которых загружен хоть один файл
      Алексей Шумаев
      24 марта 2019, 16:21
      0
      Вот так, например:
      {set $list = 'msProducts' | snippet :[
          'parents' => 0,
          'limit' => 1,
          'loadModels' => 'mvtdocs',
          'innerJoin' => '{
              "ds": {
                "class": "mvtDocsResources",
                "on": "ds.resource_id = msProduct.id"
              }
            }',
          'select' => '{
              "msProduct": "msProduct.id",
              "ds": "ds.file_id"
            }',
          'setTotal'=>1,
       ]}
       
      {$list}
      
      Всего с документами: {'total' | placeholder}
      Дмитрий
      26 июня 2019, 15:40
      0
      Хороший плагин, а есть возможность сделать вкладку в ресурсе с документами? Вот это однозначно было бы круто с настройкой для каких ресурсов эту вкладку отображать или наоборот какие исключить…
        Алексей Шумаев
        26 июня 2019, 15:57
        +1
        Можно. Основная идея была именно в том, чтобы не лазить по документам, а делать всё в одном месте — в форме компонента. Но как дополнительная возможность, да, не помешает.
        Просьба: напишите мне в личку, попробую в течении месяца добавить, как время будет.
        Дмитрий
        27 июня 2019, 14:34
        0
        Как реализовать сортировку при выводе?
          Алексей Шумаев
          27 июня 2019, 14:39
          0
          Можно так:
          {'mvtDocs' | snippet : ['sortby' => 'Resource.type', 'sortbir' => 'DESC', 'limit' => 0]}
          Посмотрите в модели какие есть поля — по ним можно сортировать.
            Дмитрий
            27 июня 2019, 14:46
            0
            хорошо бы, если был ранг в интерфейсе и по нему можно было сортировать…
              Алексей Шумаев
              27 июня 2019, 14:48
              0
              Дмитрий, отписался на почту. Настроим на твоём кейсе и внесу правки в компонент при необходимости.
          Авторизуйтесь или зарегистрируйтесь, чтобы оставлять комментарии.
          12