Пишу плагин Управление доп. параметрами Есть решение

Прошу совета пользователей!

Итак, в плагине создаются поля для продуктов, категорий и страниц (собственно везде где есть доп. параметры).

Эти созданные поля затем используются при редактировании так:


ВОПРОС:

Там есть галочки активности этих полей. На данный момент при снятии активности реальный доп. параметр удаляется (это логично), но также удаляется и то что вы вводили, например какое-нибудь второе описание.

Мое решение:

Может сохранять все установленные значения параллельно от реальных, чтобы данные введенные вами сохранялись?

Но тогда получается целая дублирующая таблица данных, причем сразу с трех экшенов, а значит в ней будет в два раза больше записей чем к примеру в таблице доп. параметров продуктов!

Подвопрос к команде webasyst:

такая таблица это приемлемое решение или лучше разбить как и таблицы доп. параметров?


10 ответов

  • 1
    Genasyst 27 декабря 2016 17:05 # Решение

    Плагин готов для магазина https://www.webasyst.ru/store/plugin/shop/advanced...

    И для сайта https://www.webasyst.ru/store/plugin/site/advanced...

  • 4
    Евгений Леман 12 января 2017 13:08 #

    Купил, протестил и... авторитетно заявляю - маст хэв для разработчиков! :)

    В каждом проекте есть какие-то мелочи, требующие доп. условий. При малых бюджетах это решалось через обычные доп. параметры. Но это неудобно, т.к. админ уже через час забудет какой параметр, с каким значением и для каких случаев нужно писать. Если бюджеты позволяли, делал простенький плагин чисто для человекупонятной UI-настройки. Но тут 1 плагин решает кучу проблем. Да еще и несколько плагинов просто становятся бесполезными, т.к. могут быть полностью заменены сабжем, что в итоге экономит бюджет :)

    Лично я просто в поросячем восторге. А ведь обычно от покупных плагинов одни разочарования.


    Правда 2 вещи хотелось бы улучшить:
    1. Возможность изменения сортировки созданных параметров. Сейчас вот делаю проектик, в котором для категории создано около 20(!) доп. параметров. Некоторые из них имеют синергию. Условно назовем их "длина" и "ширина"(чего-нибудь). И вот в процессе появляется надобность указания еще и "высоты". Добавляем настройку, но выглядит не совсем удобно и логично. У нас сначала "длина" и "ширина" чего-то, потом 10 других параметров, потом "высота" опять этого "чего-то". Вот так и хочется сделать этот пункт третьим, чтобы было удобно и понятно, но нельзя.
    2. Для radio/select идеально было бы иметь возможность указывать не только value, но и title. Архитектуру не знаю и очень не уверен в возможности такого, но вот писать в шаблонах {if $category.params.da__esli_tovarov_bolee_20} и видеть аналогичное в настройках категории не круто :)

    ПС С чекбоксами активности тоже не совсем понятно для чего они. Но скорее всего какая-то вынужденная мера, ведь у задумки всё же есть ограничения по реализации.

    • +1
      Genasyst Genasyst 12 января 2017 13:24 #

      Да я знаю! Дело в том что этот плагин мне пришлось срочно выложить из-зи приложени доп параметры! Так то я сменил концепцию и писал другой такой плагин с более гибким функционалом, а этот забросил!

      Там конечно было все круче ,но не успел я спокойно дописать, как выложили приложение с похожим функционалом! Теперь мне придется расширять функционал этого плагина кривыми методами!

      Вот фото того плагина))))) там не только сортировка но и абсолютно любые типы полей!!!!!!

      Типы полей:


      Создание поля:


      Там была заложена другая архитектура абсолютно! Очень интересные решения там думал применить, но не судьба! Третий плагин Дополнительных полей это будет слишком...

      • +1
        Евгений Леман Евгений Леман 12 января 2017 13:28 #

        Печально. Но в любом случае молодец! :)

        • +1
          Genasyst Genasyst 12 января 2017 13:33 #

          Все проблемы которые ты описал были решены в том плагине))))))) И титл значений есть и сортировка и еще много всего о чем даже никто не задумывался)))) думаю я либо вернусь доделать тот плагин, либо придется допиливать выложенный плагин!

      • +1
        Genasyst Genasyst 12 января 2017 13:29 #

    • +1
      Genasyst Genasyst 12 января 2017 13:50 #

      Активность чекбокса это выключение параметра(удаление из таблицы параметров) с сохранением значения в отдельной таблице, чтобы значения не удалялись!

    • +1
      Genasyst Genasyst 23 января 2017 19:21 #

      в итоге понял что проще перенести в недоделанный плагин функцонал плагина Управление доп. параметрами, т.к. архитектура совсем разная))))

      буду доделывать не выпущенный плагин, совмещая уже выпущенный функционал))))

  • 3
    Вячеслав 30 сентября 2016 10:21 #

    Очень полезный плагин!

    В демо-сайте почему-то не работает иконка с минусом - для удаления поля в 1м интерфейсе.

    У Вас во 2м интерфейсе, где используются доп. поля, - галочка, интуитивно обозначает именно активность, а не удаление. Поэтому, если при снятии активности реальный доп. параметр удаляется - это НЕ логично. Пользователь ожидал бы что параметр остается, но не активен, что показывается полупрозрачным или серым цветом в интерфейсе. (Вдруг я позже захочу снова активировать тоже значение?) А для удаления (очищения) - нужно использовать не галочку тогда а крестик или иконку минуса или резинку. И добавить подсказки к ним, соответствующие нужно.

    Посмотрите в сторону Вордпреса. Там вроде тоже есть развитый функционал для доп параметров.

    --

    Пожелания по функционалу:

    - Для разных категорий магазина, доп параметры в карточке товара нужны разные. Например, если в одной категории бытовая техника, а в другой батарейки.

    - Что насчет множественных полей? Возможно ли то? Например, параметр "ассортимент доступных цветов товара". В шаблоне этот параметр должен возвращать массив.

    • +1
      Genasyst Genasyst 30 сентября 2016 10:46 #

      Вячеслав напиши свой номер телефона на почту admin@foxtop.ru. спасибо за ценные советы. Я сейчас заканчиваю ресайз картинок.

    • +1
      Genasyst Genasyst 30 сентября 2016 10:47 #

      иуонуа работает. Тольуо надо поймать место. Я пока не правил это)

    • +1
      Genasyst Genasyst 30 сентября 2016 10:50 #

      реальный параметр уже не удаляется. Он сохранен в отдельной таблице

  • 2
    Genasyst 21 сентября 2016 16:44 #

    Спасибо за перенос темы! Но что-то люди не отвечают..

  • 2
    creativit.ru 21 сентября 2016 18:49 #

    А не проще просто добавить столбец "Активность" в таблицу базы данных? И соответственно галочкой вы или 1 или 0 ставите в активность.

    • +1
      Genasyst Genasyst 21 сентября 2016 18:57 #

      Это конечно решение, но что-то не нравится так. Там есть многострочные параметры, которые при удалении плагина, нарушат работу стандартного функционала.

      Я уже сделал так: если значение присутствует в таблице параметров, то активность есть, иначе нет, что логично.

      Вот демо: http://webasyst.foxtop.ru/webasyst/shop/?action=pl...

      Логин: demo

      Пароль: demo

  • 1
    Dima123 28 сентября 2016 18:34 #

    это чтобы для закакза на маркте проставить какие товары будут и не будут учавствовать?

  • 1
    Genasyst 30 сентября 2016 11:57 #

    Геннадий, здравствуйте!

    Увидела Вашу тему на форуме Вебасист (https://developers.webasyst.ru/forum/14693/pishu-plagin-upravlenie-dop-parametrami/).


    Хотела заранее предупредить, что у меня уже давно готов плагин со схожим функционалом, только более простой — поддерживаются только добавление select, image, input. Работает он только с дополнительными параметрами страниц.


    В ближайшее время не планирую его отправлять на проверку в Вебасист, но просто хотела предупредить, что если мы опубликуем его, то это будет не плагиат вашего плагина, а собственная разработка (ну и функциональная направленность несколько иная, чем у Вас, поэтому тут не будет конкуренции между плагинами) :-)

    С уважением, Ольга.


    Вот и встретились два мечтателя с мыслью: А что если в доп. параметры пихать все что угодно?))))

  • 1
    Dima123 30 сентября 2016 19:45 #

    когда готов будет?

    • +1
      Genasyst Genasyst 30 сентября 2016 21:04 #

      Он уже готов! На проверке!

    • +1
      Genasyst Genasyst 5 октября 2016 21:04 #

      Готова Лайт версия Сейчас готовлю к модерации полную версию, решил добавить ресайз картинок!

      по умолчанию размер наследуется от установленного в поле, но можно прям на ходу поменять!

  • 1
    Bubble Buddy 6 октября 2016 16:30 #

    Почему я не вижу ваш плагин в списке новых в магазине webasyst? только по ссылке или через поиск?

  • 1
    Евгений Леман 18 февраля 2017 16:21 #

    Есть небольшой косячок. Невозможно изменить урл категории. Методом исключения(поочередного удаления плагинов) понял, что косячит этот.

    • +1
      Genasyst Genasyst 18 февраля 2017 16:41 #

      дай доступ посмотреть

      • +1
        Евгений Леман Евгений Леман 18 февраля 2017 17:02 #

        стукни в скайп: e-leman

        • +1
          Genasyst Genasyst 18 февраля 2017 17:53 #

          Баг исправлен, плагин будет отправлен на проверку.

          Временное решение:


          В файле classes/shopAdvancedparamsPluginFields.class.php

          в строке:

            Вставьте ссылку файла  <input type="text" name="url" 

          заменить на:

          Вставьте ссылку файла  <input type="text" name="advancedparams_url" 


          В файле lib/actions/backend/shopAdvancedparamsPluginBackendFileUpload.controller.php

          в строке:

          // Если все проверки успешны, добавляем файл
           $url = waRequest::post('url' ,'',waRequest::TYPE_STRING_TRIM);

          заменить на:


          // Если все проверки успешны, добавляем файл
          $url = waRequest::post('advancedparams_url' ,'',waRequest::TYPE_STRING_TRIM);
    • +1
      Genasyst Genasyst 22 февраля 2017 16:38 #

      Удивительно, но я удосужился только сегодня отправить на модерацию, снова забыл про этот баг! Слишком он уж незаметный когда магазин уже рабочий, а не новый)))

Добавить ответ

Чтобы добавить комментарий, зарегистрируйтесь или войдите