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
5
535
+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
        Дмитрий, отписался на почту. Настроим на твоём кейсе и внесу правки в компонент при необходимости.
Авторизуйтесь или зарегистрируйтесь, чтобы оставлять комментарии.