Настройки темы на витрине

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

Не могу понять как вывести настройки. Может подскажет кто-нибудь куда копать?

4 ответа

  • 1
    Koin 6 января 2019 20:04 #

    Добрый день, в чем проблема посмотреть в дефолтной теме как сделано? Но там есть ньюанс, он меняет прямо файл, соответственно будет у всех меняться, вам надо сделать что бы сохранялось к примеру в куках и потом получать данные их них.

    Или сделать несколько основных настроек, которые сами выведите и ссылкой на ваш сайт с гет параметром и потом так же в теме менять, вообщем вариантов много можно придумать.

  • 1
    Евгений Леман 7 января 2019 10:36 #

    Вообще из этой темы следует одна просьба к вебасист. Хук на переопределение $theme_settings очень бы помог. Сейчас приходится лепить жутко неудобные костыли. Либо лезть в исходный код и делать подобие этого хука самому, что слетит при обновлении. Либо для демо делать отдельную тему, в которой будет тонна лишнего кода на замену настроек из куков. И делать это для каждой новой версии темы. Брр..

    • +1
      enso_studio@mail.ru enso_studio@mail.ru 7 января 2019 12:50 #

      а зачем? отравляешь ajax запрос на сохранение настроек в бекенд и перезагружаешь страницу.

      • +1
        Евгений Леман Евгений Леман 8 января 2019 11:15 #

        И что? Демо по умолчанию настраивают так, чтобы показать максимум. Если юзер сменит глобально, тема уже может выглядеть хуже. И потом, что будет, если два юзера одновременно сменят? Как минимум один из них подумает "Не работаит, тема гавно".

    • +1
      Syrnik.com Syrnik.com 8 января 2019 02:12 #

      Есть такая штука, localstorage называется... :-/

      • +1
        Евгений Леман Евгений Леман 8 января 2019 11:15 #

        Эм... и?) Намека не понял. Можно подробнее?

        • +1
          Syrnik.com Syrnik.com 8 января 2019 14:38 #

          Хранить не в куках или, упаси боже, в сессии, а в localstorage. По-моему это лучше куки. Хотя, зависит от количества настроек. Видели мы темы и с сотней настроек :)

      • +1
        Denis Denis 8 января 2019 11:41 #

        Спасибо за совет. Но мне кажется что куков достаточно. Там не нужно большого объема данных.

  • 1
    Denis 7 января 2019 12:23 #

    С этой dummy совсем забыл про дефолтную тему...

    Да, нужно куками что бы у каждого конкретного клиента менялось.

    А то что вроде бы простая задача требует конкретного костыля, это точно. Больше всего не нравится что нужно этот кусок потом выбрасывать из рабочей копии и так со всеми обновлениями.


    Спасибо! Пошел делать куки.

    • +2
      enso_studio@mail.ru enso_studio@mail.ru 7 января 2019 12:52 #

      Вынести админ панель в отдельный файл и подключать include'ом.

      • +1
        Евгений Леман Евгений Леман 8 января 2019 11:16 #

        Это примерно так и делается. Только не забывай, что это нужно делать для каждого шаблона. Ибо композит.

        • +1
          Denis Denis 8 января 2019 11:44 #

          Имеется ввиду инклудить в index каждого приложения?

          • +2
            Евгений Леман Евгений Леман 8 января 2019 21:25 #

            Имелось в виду то, что было написано. Именно в каждый шаблон. Ибо переопределив $theme_settings в родительском index.html в подключаемых {$content} он останется прежним.

  • 1
    Denis 7 января 2019 13:01 #

    Да, но тогда получится что тот кто поменяет предустановленную цветовую схему, поменяет ее для всех кто придет после него. Поэтому, видимо кроме куков решения нет.

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

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