[msExtraFields] 0.2.6-beta Гибкие свойства товаров
        В продолжении темы sFilters, компонент вышел в свет, а точнее в магазин, под новым именем.
Любознательным сразу сюда: вход в админку:
Логин: demo
Пароль: demo12345
товара (задается в настройках плагина)
работа в нескольких контекстах без создания дубликатов свойств товаров
привязка свойств к категориям товаров
иерархическое наследование свойств от категорий
автоматическое заполнение свойств товаров при создании товара, унаследованных от родителей (категорий)
копирование свойств товара/категории при копировании документа
сортировка свойств через перетаскивание в общих настройках, категориях и товарах
различное отображение свойств в зависимости от потребностей (информативный вид, короткий, режим изменения значения — редактирования)
возможность менять внешний вид и поведение каждого свойства
управлять внешним видом и характеристиками одного и того-же свойства в
каждой категории по отдельности
управлять ценой товара в зависимости от выбранного свойства
включение/выключение добавления скидок к товарам
управление скидками у каждого свойства товара отдельно и в общем у товара
при изменении количества выбора товара, перед добавлением его в корзину, происходит
перерасчет итоговой цены, а также в момент добавления, в результате цена меняется
для ранее добавленных товаров
перерасчет цены при изменении кол-ва товара на странице формировании заказа
группировка свойств в админке и при выводе у клиента в тег fieldset с выводом имени группы
добавление дополнительного описание к свойствам товаров
добавление и вывод у клиента информации о скидках без перезагрузки страницы
задание отдельных артикулов к каждому дополнительному свойства товара / категории
управление количеством товара по тому или иному свойству (например, синих футболок
на складе 20, красных 10, оба этих свойства прописаны у одного единственного документа)
доступ к компоненту и его работа регулируется правилами указанных в политике доступа miniShop2
гибкое управление таблицами, положения полей можно запоминать в кукисах браузера
сохранение всех свойств товаров в истории заказов
можно использовать эти свойства в качестве критериев поиска компонента mSearch2
гибкое управление этими свойствами в качестве критериев mSearch2 при открытии
клиентом различных категорий, через сниппет mFilter2.
* гибкое управление таблицами, положения полей можно запоминать в кукисах браузера
* **сохранение всех свойств товаров в истории заказов**
* можно использовать эти свойства в качестве критериев поиска компонента mSearch2
* гибкое управление этими свойствами в качестве критериев mSearch2 при открытии
клиентом различных категорий, через сниппет mFilter2.


    
    
    
                                                        Что умеет?
Дает возможность гибко управлять свойствами товаров (в не зависимости от того прописаны ли какие-либо дополнительные классы обработчики в настройках miniShop2), их ценами, скидками по товару и по отдельным его свойствам, группировать свойства, привязывать их к различным контекстам, что позволяет управлять одновременно несколькими магазинами из одной админки, информировать клиента об изменении цены. Работает «из коробки» с компонентом mSearch2 и многое другое. Основная идея этого проекта: свести к минимуму дублирование одинаковых товаров характеристики которых не значительно отличаются друг от друга. Работает как на старых версиях modx (2.2) так и на последней, также на php 5.3 — 5.6 стабильно.Где поглядеть?
Почти все можно увидеть на демонстрационном сайте.Любознательным сразу сюда: вход в админку:
Логин: demo
Пароль: demo12345
Где скачать?
Ссылка на магазин: msExtraFieldsВозможности
динамическое создание свойств любого вида не зависимо от категориитовара (задается в настройках плагина)
работа в нескольких контекстах без создания дубликатов свойств товаров
привязка свойств к категориям товаров
иерархическое наследование свойств от категорий
автоматическое заполнение свойств товаров при создании товара, унаследованных от родителей (категорий)
копирование свойств товара/категории при копировании документа
сортировка свойств через перетаскивание в общих настройках, категориях и товарах
различное отображение свойств в зависимости от потребностей (информативный вид, короткий, режим изменения значения — редактирования)
возможность менять внешний вид и поведение каждого свойства
управлять внешним видом и характеристиками одного и того-же свойства в
каждой категории по отдельности
управлять ценой товара в зависимости от выбранного свойства
включение/выключение добавления скидок к товарам
управление скидками у каждого свойства товара отдельно и в общем у товара
при изменении количества выбора товара, перед добавлением его в корзину, происходит
перерасчет итоговой цены, а также в момент добавления, в результате цена меняется
для ранее добавленных товаров
перерасчет цены при изменении кол-ва товара на странице формировании заказа
группировка свойств в админке и при выводе у клиента в тег fieldset с выводом имени группы
добавление дополнительного описание к свойствам товаров
добавление и вывод у клиента информации о скидках без перезагрузки страницы
задание отдельных артикулов к каждому дополнительному свойства товара / категории
управление количеством товара по тому или иному свойству (например, синих футболок
на складе 20, красных 10, оба этих свойства прописаны у одного единственного документа)
доступ к компоненту и его работа регулируется правилами указанных в политике доступа miniShop2
гибкое управление таблицами, положения полей можно запоминать в кукисах браузера
сохранение всех свойств товаров в истории заказов
можно использовать эти свойства в качестве критериев поиска компонента mSearch2
гибкое управление этими свойствами в качестве критериев mSearch2 при открытии
клиентом различных категорий, через сниппет mFilter2.
* гибкое управление таблицами, положения полей можно запоминать в кукисах браузера
* **сохранение всех свойств товаров в истории заказов**
* можно использовать эти свойства в качестве критериев поиска компонента mSearch2
* гибкое управление этими свойствами в качестве критериев mSearch2 при открытии
клиентом различных категорий, через сниппет mFilter2.
Внешний вид


    
            
                Поблагодарить автора            
            
                 Отправить деньги            
        
        
            Комментарии: 32
                какой то загадочный косяк, сижу разбираюсь.            
                    
                Умеет ли компонент назначать атрибут disabled инпутам, чтобы не было: «Подходящих результатов не найдено.»?
P.S. а главную нужно починить как можно скорее, а то многие так и не увидят всех возможностей компонента.
                    P.S. а главную нужно починить как можно скорее, а то многие так и не увидят всех возможностей компонента.
                за это в mfilter отвечает метод setSuggestions от mSearch2, на данный момент он работает не так как мне нужно, вообще если его включить то поиск тормозить начинает — не рекомендую его использовать, хотя не копался в начинке mSearch2 последней версии, возможно сейчас есть подходящие вызовы и ответы для их использования. С другой стороны, можно написать обработчик, который при отсутствии результатов будет добавлять disabled вместо setSuggestions, это не сложно, но на данный момент такого нет. С сайтом разбираюсь, скоро починю.            
                    
                Просто это есть из коробки в mSearch2 и работает быстро, хотелось бы и здесь)
 
Это одна из самых важных функций в юзабилити ИМ, по моему мнению.
На демо это ещё не бросается в глаза, так как мало товаров и все опции в выпадающих списках. А если это будет интернет-магазин телефонов со всеми опциями в списках, то будет очень и очень не удобно пользователям сталкиваться с тем, что постоянно нет результатов)
А так, проделана огромная работа! Спасибо! Скоро обязательно пригодится этот компонент)
                    Это одна из самых важных функций в юзабилити ИМ, по моему мнению.
На демо это ещё не бросается в глаза, так как мало товаров и все опции в выпадающих списках. А если это будет интернет-магазин телефонов со всеми опциями в списках, то будет очень и очень не удобно пользователям сталкиваться с тем, что постоянно нет результатов)
А так, проделана огромная работа! Спасибо! Скоро обязательно пригодится этот компонент)
                Спасибо, про скорость ответил в другой ветке ниже.            
                    
                Пока непонятно, за что вы хотите 2000… Я зашел в админку, там все залочено, потыкать ничего нельзя, добавить опцию самостоятельно нельзя, изменить существующие тоже. Я увидел только страшные таблицы в гриде товаров и все. Ну то есть я вижу что можно вроде бы добавить какие то опции к товарам, но попробовать самостоятельно возможности нет.
А еще я заметил тормоза на странице каталога — в разделе телефоны при всего-лишь 2х товарах.
                    А еще я заметил тормоза на странице каталога — в разделе телефоны при всего-лишь 2х товарах.
total time: 1.6804 s
query time: 0.0261 s
queries: 213И оно еще не кэшируется судя по всему?            
                Да действительно кеш выключен и по тексту написана причина этого, насчет залочено, также писал что работаю над этим и скоро дам полный доступ. За что 2000… за труд )            
                    
                Еще раз прочитал текст, причины выключенного кеша не нашел, если не сложно, поясните еще разок. Труд это конечно хорошо, но этого мало. Я пока не готов выложить 2000 за этот компонент)            
                    
                описал в документации, дело в том, что если вызывать кешированным и добавлять товар, то borders в фильтрах могут работать работать не верно, просто не появиться в списке пока не обновится, или же если менять включить кеш и менять настройки у сниппета… то тоже ничего не произойдет пока время кеша не выйдет или сессия не обновиться или кеш не очиститься, поэтому чтобы не вводить народ в заблуждение кеширование выключено. Расскажу не много про то, как проходит один из этапов кеширования запросов основываясь на параметре cacheTime, когда пользователь на какой-либо странице вводит критерии поиска (влючая сортировку, пагинацию, лимит) на сервере на основе этих данных формируется ключ md5, если ранее кто-либо производил такой поиск он получит из кеша cacheManager (в соответствии с cacheTime) сформированные страницы. Если он первый, то формируется кеш с этими данными. Просто на аяксе скорость обработки не совсем очевидна.            
                    
                а почему страшные, что именно в них не понравилось?            
                    
                Ну они очень отличаются от стандартного extjs)            
                    
                стандартные таблицы, просто чтобы разделить логику немного подкрасил и добавил фона.            
                    
                Рекомендовал бы вам цвета подобрать не столь кричащие.            
                    
                Спасибо, учту, если есть желание можете предложить свои варианты.            
                    
                Сайт починил.            
                    
                Добавил возможность изменять в демке почти все что угодно, раз в несколько часов сайт будет возвращаться к первоначальному состоянию, все изменения будут удалены.            
                    
                Изменил примеры, добавив в категории кеширование, сделал страничку с примерами скорости загрузки страницы категории товаров, добавил в демку сниппет debugParser — можете сами изучить скорость работы на основе его данных, признаться отличаются от стандартных, не изучал его работу, но вероятно есть над чем работать. Также я подумал на счет цены и решил снизить до стоимости аналогичных компонентов, теперь всего 990р.. ) Всех с весной!            
                    
                Сразу баг словил ;)
yadi.sk/i/maetICDqqxudo
                    yadi.sk/i/maetICDqqxudo
                Очень интересно и что было сделано для достижения такого результата? какая последовательность действий? какой браузер? У меня в коде вообще нет такой фразочки, значит это или ms2 или mfilter или еще кто, или что скорее всего, открыл в момент обновления БД и файлов судя по времени картинки (20:00 28сек), в результате такой глюк произошел.            
                    
                Ничего, просто нажал на чекбокс) Браузер хром)            
                    
                скорее всего попал на сброс, попробуй еще раз.            
                    
                Вышла версия 0.2.9. Теперь, названия свойств и их значение так же попадают в поисковый индекс mSearch2. Достаточно в его настройках в поле с ключем mse2_index_fields добавить msextrfields_index:2 (вес указываем свой).            
                    
                Может кто-то уже делал, в списке товаров (при выводе mFilter-ом, в плитке или в списке) нужно приделать возможность выбора свойства товара (от этого изменяется стоимость, как и на самой странице товара), чтобу покупать было удобней (чтобы не редактировать потом в корзине свойства).            
                    
                Точно скажу что ни кто с данным компонентом этого не далал, с другим возможно, не знаю. Однозначно не получиться без внесения правок в js (компонента и скрее всего miniShop2), т.к. есть места, например при пересчете цены данные возвращаются только в один селектор '.price', возможно будет проблема с сабмитом и еще чем-нить, тут надо внимательно изучать все нюансы, наверняка ms2 тоже будут такие узкие места, если только там на closest или siblings Василий не перевел, или идентификаторы какие добавил к формам, я не проверял.            
                    
                Степан, есть ли у компонента возможность проставлять размер скидки, в зависимости от общей суммы заказа? Не нашел такой возможности, ее нет?            
                    
                Нет, такого нет.            
                    
                Добрый день!
Как я могу вывести в карточке товара свойства, только из определенной группы свойств?
                    Как я могу вывести в карточке товара свойства, только из определенной группы свойств?
                Т.е. не из категории, а именно из группы? можно конечно так сделать, но подсчет цены вроде будет производиться по всем параметрам, нужно проверить, так на данный момент такого критерия нет, добавлю в новую версию, будет задаваться через where или groups.            
                    
                да, из группы. Мне нужно вывести определенные свойства товара в другом блоке на странице. Получается, я разбиваю их на группы и пытаюсь отдельно вывести…            
                    
                хм не могли бы вы все таки уточнить эту информацию скриншотами сайта, я понимаю что такое решение имеет место быть, мне просто очень хечется понять почему вы решили пойти именно таким путем.            
                    
            
                            Авторизуйтесь или зарегистрируйтесь, чтобы оставлять комментарии.