[msOrderFiles] Файлы к заказам miniShop2
Небольшой компонент, предназначенный для прикрепления файлов к заказу miniShop2. Нет ни сниппетов, ни чанков, ни отдельной страницы компонента. Есть только вкладка, встроенная в окошко редактирования заказа miniShop2, и свой Источник файлов.
За идею компонента спасибо Михаилу Воеводскому!
Вывод списка файлов заказа
Чтобы вывести список файлов определённого заказа (например, в личном кабинете юзера), нужно воспользоваться сниппетом pdoResources:
{'!pdoResources' | snippet : [
'class' => 'msOrderFile',
'loadModels' => 'msOrderFiles',
'where' => [
'active' => 1,
'order_id' => 10,
],
'sortby' => '{"rank":"ASC"}',
'tplWrapper' => '@INLINE <ul>{$output}</ul>',
'tpl' => '@INLINE
<li><a href="{$url}">{$name}</a></li>
',
]}
Плейсхолдеры для параметра tpl
- id — id файла заказа,
- order_id — id заказа в ms2,
- source — id источника файлов,
- name — название файла,
- description — описание файла,
- file — имя файла с расширением,
- url — путь до файла, начиная от корня сайта,
- mime — тип файла, по стандарту MIME,
- ext — расширение файла,
- hash — хеш, который используется для сравнения уникальности загружаемого файла,
- size — размер файла в байтах,
- createdon — дата загрузки файла,
- createdby — id юзера, который загрузил файл,
- rank — номер позиции файла в списке,
- active — является ли файл активным.
Источник файлов msOrderFiles
В источнике файлов, помимо стандартных настроек (basePath, baseUrl), можно указать и такие:
- allowedFileTypes — список расширений файлов, которые разрешается загружать,
- fileNameType — знакома многим из ms2Gallery, означает метод переименования файла,
- positionNewFiles — позиция новых файлов в списке. Другими словами, куда загружать новые файлы: в начало или в конец.
Купить пакет в modStore.pro
Поблагодарить автора
Отправить деньги
Комментарии: 59
Павел, для упрощения добавь сниппет-обертку над pdoResources, который добавит свои особые параметры и заменит некоторые стандартные. Сделать его не долго, но снимет огромное количество вопросов по ошибочному вызову pdoResources.
Да, ты прав. Пожалуй, вскоре сделаю именно так.
Спасибо, Леонид!
Можно ли с помощью этого компонента автоматически высылать файлы в зависимости от приобретённого товара?
Нет. Это дополнение для ручного прикрепления файлов к заказу в целом. Например, скан счета или акта.
Спасибо. А есть на сторе дополнение, позволяющее отправлять файл после оплаты?
Готового дополнения с таким функционалом не видел.
Можно использовать это modstore.pro/packages/photos-and-files/fileattach и добавить плагин отправки на почту списка ссылок на скачивание файлов, прикрепленных к товарам в заказе, после смены статуса заказа на «Оплачен».
Можно использовать это modstore.pro/packages/photos-and-files/fileattach и добавить плагин отправки на почту списка ссылок на скачивание файлов, прикрепленных к товарам в заказе, после смены статуса заказа на «Оплачен».
Можно пример, что за файл нужно отправлять юзеру после оплаты заказа? Это какой-то конкретный файл, заточенный для определённого юзера или общий файл для каждого?
Это общий файл. Например mp3-файл (музыка, перевод и т.д.).
Ниже ребята об этом и говорят.
Ниже ребята об этом и говорят.
Как вариант modstore.pro/packages/integration/msdigitaloffers
код = ссылка на файл
код = ссылка на файл
1. Есть возможность автоматической генерации уникальной ссылки с ограничением времени жизни?
2. Кода будет работать с новым минишопом?
2. Кода будет работать с новым минишопом?
1. Нет, ибо создавался компонент под продажу игровых ключей и тд, т.е. «кодов» того, что уже есть.
2. В процессе, по срокам не сориентирую, но скоро.
2. В процессе, по срокам не сориентирую, но скоро.
Может сделаете отдельное приложение для покупки файлов?
Контакты в профиле.
Вообще был какой-то компонент, который умел генерировать ссылку на файл и доступ к ней на * кол-во времени, но не могу вспомнить его название.
Вообще был какой-то компонент, который умел генерировать ссылку на файл и доступ к ней на * кол-во времени, но не могу вспомнить его название.
Может сделаете отдельное приложение для покупки файлов?Тоже интересен аддон с продажей файлов (знаю ещё человек 5, которым это интересно).
Опишите подробнее функционал пакета. Думаю, реализую.
Думаю, всё просто
К товару прикрепляется файл, после покупки файл доступен в истории заказов
В идеале, отсылать ссылку на скачивание после оплаты заказа на почту.
Хранение
1. при загрузке к товару опционально сделать вариант переименовывать или нет в настройках
2. скачанные файлы должны храниться в личном кабинете, в истории заказов
Безопасность
Даже имея ссылку файл скачать нельзя, скачать его может только оплативший покупку.
Это с ходу, так можно многое развить
К товару прикрепляется файл, после покупки файл доступен в истории заказов
В идеале, отсылать ссылку на скачивание после оплаты заказа на почту.
Хранение
1. при загрузке к товару опционально сделать вариант переименовывать или нет в настройках
2. скачанные файлы должны храниться в личном кабинете, в истории заказов
Безопасность
Даже имея ссылку файл скачать нельзя, скачать его может только оплативший покупку.
Это с ходу, так можно многое развить
Присоединяюсь к Stan Ezersky. Нужен такой копонент.
Приветствую. Подскажите пожалуйста, как изменить шаблон вывода загруженных файлов в дропзоне. И еще как добавить функцию удаления каждому файлу при выводе уже сохраненных файлов через pdoResources.
Извините. Отписался уже.
Подскажите, возможно ли привязать кол-во товара и кол-во загружаемых файлов? Т.Е. необходимо сделать товаром — именно загружаемый файл пользователем!
Подскажите как настроить политику доступа msOrderFilesPolicy для анонимов
Добавить группе анонимов данную политику доступа.
Последнее время очень часто звучит данный вопрос в ТП modstore… суть в том, что установив политику доступа и не указав параметр сниппета anonym = true, для анонимов форма даже показываться не будет…
Поэтому сниппет необходимо вызывать примерно так:
Последнее время очень часто звучит данный вопрос в ТП modstore… суть в том, что установив политику доступа и не указав параметр сниппета anonym = true, для анонимов форма даже показываться не будет…
Поэтому сниппет необходимо вызывать примерно так:
{'!msofForm' | snippet : [
'anonym' => true,
]}
вопрос снят, почистил кеш админки политика применилась. С false понятно что он не выводит прикрепление файла.
Отмечу очень низкую поддержку автора для тех кто купил пакет. Если у кого-то есть проблемы с политиками, то от автора ответа вы не получите, на мои вопросы о политиках автор ответил что не собирается меня учить ModX ) Вот это поддержка!!! В отличие от того же Володи Володина, который не оставит нерешенным ни один вопрос.
Ну давайте попробуем разобраться…
В описании компонента, по сути, инструкции к использованию, есть примечание:
Вы:
Извините, конечно, если грубо получилось. Устал от вопросов, которые по сути дела не ко мне нужно направлять. Я ведь не вызывался обучать вас использованию MODX. Я оказываю поддержку моего компонента. Ваш вопрос был решён?
В описании компонента, по сути, инструкции к использованию, есть примечание:
ВажноТеперь что касается ТехПоддержки. Вот лог переписки:
Чтобы пользователь мог загружать файлы из фронт-энда, добавьте его группе политику доступа msOrderFilesPolicy. Тоже касается и анонимов.
Вы:
подскажите как правильно создать политику безопасности для анонима чтобы она работала. Как я делаю я: захожу в «контроль доступа» -> «Группы пользователей и пользователи» -> аноним -> редактировать группу пользователейЯ:
Делаю доступ к контекстам и доступ к данному источнику файлов и прописываю 'anonym' => true, в сниппете и все равно вылетает alert — доступ запрещен. Подскажите пожалуйста что делаю не так?
Теперь:Вы:
— Управление => Перезагрузить права доступа
— Управление => Завершить все сеансы
Можете объяснить почему когда политики применяются, тогда слетает русский язык, и например, вместо надписи Перетащите файлы имеется надпись msorderfiles_frontend_message, и если я меняю политку доступа то выводится доступ запрещенЯ:
Да и в редактировании заказа не появилось вкладки с файлами, так файл загрузился, но вкладки нет
Извиняюсь, вроде все поправилось после очередной очистки кэша
но все равно мало инфы о политиках, вам же несложно сделать инструкцию по этим политкам, какие контексты использовать например, web или mgr — напишите и меньше вопросов вам будет идти. Спасибо.
Что вам написать? Как пользоваться MODX? Думаю, это не ко мне. Раз уж решили использовать данный инструмент, поизучайте на просторах сети. Полно информации.
Извините, конечно, если грубо получилось. Устал от вопросов, которые по сути дела не ко мне нужно направлять. Я ведь не вызывался обучать вас использованию MODX. Я оказываю поддержку моего компонента. Ваш вопрос был решён?
В принципе мой вопрос был мною же и решен, единственная ваша подсказка это вот это:
— Управление => Перезагрузить права доступа
— Управление => Завершить все сеансы
Что в общем-то я и без вас делал, но при добавлении политики доступа вы могли бы написать разъяснения, на какие контексты они должны распространяться, хотя бы например, какие указывать права для аннонимов, admin или user, ну хотя бы это, потому что пришлось пробовать все варианты.
Вы же этого ничего не объясняете ссылаясь на то что это к вам не относится, а я считаю что разъяснение все-таки нужно по данному пункту, и это относится к данному решению.
Ну в общем свою позицию высказал, как я понял я такой не один столкнулся с такой проблемой и обратился к вам, но вы данную проблему не считаете нужным объяснять. Вот и все, вот и поддержка, о чем я и написал.
— Управление => Перезагрузить права доступа
— Управление => Завершить все сеансы
Что в общем-то я и без вас делал, но при добавлении политики доступа вы могли бы написать разъяснения, на какие контексты они должны распространяться, хотя бы например, какие указывать права для аннонимов, admin или user, ну хотя бы это, потому что пришлось пробовать все варианты.
Вы же этого ничего не объясняете ссылаясь на то что это к вам не относится, а я считаю что разъяснение все-таки нужно по данному пункту, и это относится к данному решению.
Ну в общем свою позицию высказал, как я понял я такой не один столкнулся с такой проблемой и обратился к вам, но вы данную проблему не считаете нужным объяснять. Вот и все, вот и поддержка, о чем я и написал.
на какие контексты они должны распространяться
какие указывать права для аннонимов, admin или userЕсли вы этого не понимаете, может всё таки стоит что-нибудь почитать про систему с которой работаете?
Тут сидят не только матерые программисты, но и люди которые только учатся работать с системой. Да и не у всех есть время разбираться с деталями работы компонента, а требуется его только корректно запустить. Да и сама суть покупки готового компонента говорит о том, что человек хочет получить готовое решение. Да и если вы опытный разработчик, то вам не составит труда написать что-то подробнее «Чтобы пользователь мог загружать файлы из фронт-энда, добавьте его группе политику доступа msOrderFilesPolicy. Тоже касается и анонимов»
Да и если вы опытный разработчик, то вам не составит труда написать что-то подробнее «Чтобы пользователь мог загружать файлы из фронт-энда, добавьте его группе политику доступа msOrderFilesPolicy. Тоже касается и анонимов»В смысле «написать»? Это написано с первый дней существования компонента!
Тут сидят не только матерые программистыТо есть, только «матёрый программист» способен разобраться с тем, какие права анониму назначить, админские или юзерские?.. Может изучение тогда лучше начать с чего-то, вроде Логики? Жаль, что её исключили из школьной программы. :(
Да и не у всех есть время разбираться с деталями работы компонентаДа и не у всех есть время разбираться с деталями работы MODX, вы хотели сказать?
Если вы ещё не поняли, то данный спор упёрся в то, что Гущин Сергей просто не захотел изучать, как работают Политики доступа в системе, которую он выбрал в качестве инструмента. Он захотел, чтобы я ему объяснил во всех подробностях, что это такое, как это настраивать (вплоть до цвета кнопочки, на которую надо нажать), а заодно ещё и прихватил объяснение того, что такое Контексты в MODX, и кто такие админы с юзерами.
В смысле «написать»? Это написано с первый дней существования компонента!написать подробнее
То есть, только «матёрый программист» способен разобраться с тем, какие права анониму назначить, админские или юзерские?.. Может изучение тогда лучше начать с чего-то, вроде Логики? Жаль, что её исключили из школьной программы. :(Причем тут логика? Непонятно что компоненту надо, если я делаю все по вашим инструкциям, а он работать не хочет. Ни с юзерскими, не с админскими правами — ни с какими! Нужна информация подробнее, чтобы понять что делается не так.
Да и не у всех есть время разбираться с деталями работы MODX, вы хотели сказать?нет, именно ВАШЕГО компонента. Как работают политики доступа в ModX я знаю и пользуюсь, но ВАШ компонент, в код которого у меня нет ни времени, ни желания лезть с указанными параметрами работать не хочет. Сколько раз еще повторить?
Мы сейчас тратим время на то, что бы вы сняли корону и написали простым смертным (каким вы себя видимо не считаете) как заставить этот долбанный компонент работать без тыканий по 3 часа с разными комбинациями параметров.
Что такое контексты и политики доступа от вас объяснять не требую. Я хочу узнать необходимые параметры, которые нужны для работы компонента.
Каждый из нас специалист в своем деле и если каждый с умным видом будет говорить «иди почитай, я не должен ничего объяснять», то ничем хорошим это не закончится.
Если есть столько вопросов по этой теме, то может стоит все-таки спустится с небес на землю и наконец решить этот вопрос?
Стоп стоп стоп!
1) Давайте без истерик.
2) Нет никакой секретной инфы о том, как настроить данный компонент. Я всё описал уже тысячу раз.
3) Если всё сделано по моим инструкциям и не работает, то я уже написал вам в ТП Modstore:
Вообще забавно так наблюдать, как человек не хочет ни предоставить доступы, ни разобраться в работе компонента, а только обвинять разработчика в ношении какой-то короны и утаивании секретной настройки компонента. Ещё раз: прекратите истерить и поймите, что это у вас что-то не получается, а я не из-за вредности не говорю, как его настроить, а потому что банально не экстрасенс.
1) Давайте без истерик.
2) Нет никакой секретной инфы о том, как настроить данный компонент. Я всё описал уже тысячу раз.
3) Если всё сделано по моим инструкциям и не работает, то я уже написал вам в ТП Modstore:
Кидайте доступы к сайтуИли мне опять включать экстрасенсорные способности?
Вообще забавно так наблюдать, как человек не хочет ни предоставить доступы, ни разобраться в работе компонента, а только обвинять разработчика в ношении какой-то короны и утаивании секретной настройки компонента. Ещё раз: прекратите истерить и поймите, что это у вас что-то не получается, а я не из-за вредности не говорю, как его настроить, а потому что банально не экстрасенс.
Чтобы пользователь мог загружать файлы из фронт-энда, добавьте его группе политику доступа msOrderFilesPolicy. Тоже касается и анонимов.На чистом modx с указанными вами параметрами ваш компонент не работает. Что тут еще сказать?
После этого не забудьте сделать:
— Управление => Перезагрузить права доступа
— Управление => Завершить все сеансы
И сбросить кеш, на всякий случай!
Видимо, надо настроить еще и доступ к источнику файлов, но про это ни слова не написано.
Не обязательно. У меня только «Доступ к контекстам» указан «msOrderFilesPolicy».
Можно сказать доступы. :)
Что и требовалось доказать! Компонент тут не при чём…
У админа нет прав доступа, указанных в документации к компоненту. Из под него он авторизован в админке и думает, что проверяет из под анонима.
Как проверить:
— Открываем сайт в Режиме инкогнито, проверяем анонимом — всё работает.
— Открываем сайт в браузере, в котором авторизованы админом, у которого нет нужной политики доступа — не работает.
Это к тому, как банальная невнимательность порождает проблемы…
У админа нет прав доступа, указанных в документации к компоненту. Из под него он авторизован в админке и думает, что проверяет из под анонима.
Как проверить:
— Открываем сайт в Режиме инкогнито, проверяем анонимом — всё работает.
— Открываем сайт в браузере, в котором авторизованы админом, у которого нет нужной политики доступа — не работает.
Это к тому, как банальная невнимательность порождает проблемы…
По ходу дела выявилась локальная проблема, при чём довольно специфическая. У Дмитрия на сервере PHP настроен таким образом, что кеширует состояния файлов. Пришлось добавить функцию сброса кеша состояния:
P.S. Буду благодарен, если администрация удалит срач в комментах!
clearstatcache();
Проблема локальная, компонент до сих пор настраивается без всякой магии. Хотя, ходят слухи, что моя корона не позволяет мне выдавать секреты настройки моих компонентов… :)P.S. Буду благодарен, если администрация удалит срач в комментах!
Вот так вот один пустил сплетни о том, что разработчик что-то утаил. А второй подхватил и начал истерику на ровном месте. Завтра уже пол сообщества будет думать, что я вредный и скрываю ценную информацию по использованию моих платных компонентов. =)
Ладно, уровень тех поддержки по пакету думаю стал понятен всем. Можно тему закрыть
Да, уровень поддержки стал понятен. А еще стало понятно с какими людьми порой приходится работать авторам
Народ, кто то разобрался с политиками доступа? я купил компонент, и никак не могу понять как настроить, что бы у меня в корзине все работало…
Разобрался наконец то. Вот что необходимо сделать что бы все заработало во фронте для анонимов:
1) Открываем в админке «Контроль доступа»
2) Кликаем правой кнопкой мыши на «аноним» и выбираем «Редактировать группу пользователей»
3) Жмем «Добавить контекст»
4) далее заполняем поля: контекст -web, Минимальная роль — Member — 9999, Политика доступа — msOrderFilesPolicy
5) Сохраняем все это дело
Уже после всех этих манипуляций делаем это:
— Управление => Перезагрузить права доступа
— Управление => Завершить все сеансы
И все готово.
Я думаю если бы автор не поленился и написал бы эту инструкцию, то здесь не было бы портянки с недовольными комментами
1) Открываем в админке «Контроль доступа»
2) Кликаем правой кнопкой мыши на «аноним» и выбираем «Редактировать группу пользователей»
3) Жмем «Добавить контекст»
4) далее заполняем поля: контекст -web, Минимальная роль — Member — 9999, Политика доступа — msOrderFilesPolicy
5) Сохраняем все это дело
Уже после всех этих манипуляций делаем это:
— Управление => Перезагрузить права доступа
— Управление => Завершить все сеансы
И все готово.
Я думаю если бы автор не поленился и написал бы эту инструкцию, то здесь не было бы портянки с недовольными комментами
А это для кого вот тут?
«Поленился», «не поленился»… Если бы вы также хорошо старались при изучении системы, с которой работаете, не было бы таких вопросов.
Может вам ещё по пунктам написать, как компонент скачать и установить? А потом написать, как сниппет вызвать с примерами на все случаи жизни?
Не нужно на автора дополнения сбрасывать ответственность, которую вы берёте на себя, когда соглашаетесь на ту или иную работу!
P.S. Это всё, что я могу сказать вам. Больше отвечать не стану.
«Поленился», «не поленился»… Если бы вы также хорошо старались при изучении системы, с которой работаете, не было бы таких вопросов.
Может вам ещё по пунктам написать, как компонент скачать и установить? А потом написать, как сниппет вызвать с примерами на все случаи жизни?
Не нужно на автора дополнения сбрасывать ответственность, которую вы берёте на себя, когда соглашаетесь на ту или иную работу!
P.S. Это всё, что я могу сказать вам. Больше отвечать не стану.
А можно как-то выводить превью файла в письме, а не просто ссылку на файл?
Друзья, а есть у кого-то живой пример реализации на функционирующем сайте?
Интересует именно клиентская часть — отправка файла при оформлении заказа в корзине. Хочу купить компонент. По описанию вроде все подходит, но хотелось бы увидеть товар лицом, как говорится.
Интересует именно клиентская часть — отправка файла при оформлении заказа в корзине. Хочу купить компонент. По описанию вроде все подходит, но хотелось бы увидеть товар лицом, как говорится.
На modhost.pro можно протестировать любое платное дополнение на тестовом тарифе.
Да, я в курсе, но суть в другом. Суть — сэкономить время предполагаемой разработки, увидев пример реализации на живом проекте.
Спасибо! Купил.
Здравствуйте.
Подскажите, пожалуйста, должно ли формироваться превью загруженного файла и почему его может не быть?
И второй вопрос: после обновления страницы в сером блоке превью название файла меняется на хэш. Можно ли всегда отображать имя файла?
Подскажите, пожалуйста, должно ли формироваться превью загруженного файла и почему его может не быть?
И второй вопрос: после обновления страницы в сером блоке превью название файла меняется на хэш. Можно ли всегда отображать имя файла?
С быстрым заказом не робит! Как подружить его с msOneClick?
тот же вопрос, крутил и так и этак, что-то не заводится. Например msOneClick с yandexdiskuploader получилось, там нужно было подключить css и js от yandexdiskuploader непосредственно в модальном окне и всё заработало, здесь тоже подключаю скрипты и стили, но всё равно дропзона не активна, может есть у кого решение?
Т.к. это платный компонент, думаю решений нет ни у кого. И пока у автора тоже :(((
Тут как минимум вопросы нужно задавать в ТП на Modstore. А вообще, этой совместимости в описании компонента не заявлено, поэтому это платная доработка. И есть у меня подозрение, что решение надо писать на стороне второго компонента.
согласен, но я не могу в поддержку более года прошло на оба компонента, поэтому сам ковырял. У msoneclick даже есть события типа «msoneclick_after_init» только всё рано не получилось, в консоли вижу только одну разницу в вызовах на странице и в модальном окне: на странице когда всё работает подключается actions.php от msOrderFiles, а в модальном окне его не появляется, а как он запускается я так не понял.
Здравствуйте, подскажите при попытке добавления файла в админке в заказах minishop2 пишет «Добавление этого типа файлов (.stl) не допускается!».
Авторизуйтесь или зарегистрируйтесь, чтобы оставлять комментарии.