Модуль Константы пользователя

В константах нужно сделать разбивку на группы или отдельный модуль со своей структурой...

Для чего?
Вот нужно вывести какой-то номер телефона в шапку сайт или в футер и нужно заходить в макеты человеку который не знает не черта в html у него просто паника.... А так объяснил, что там то там оно меняется и проблема решена. Или где-то в скриптах использовать... Очень было б удобно в одном месте менять параметр влияющий на весь сайт...

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

И еще вопрос не мешало б документации описать как вызывать эти константы...
И как в 6 версии вызвать константу текущий год?

ferdinant 31.05.2013
3
2460
23

Комментарии

  • Директории для констант приняты к реализации.

    04.06.2013 22:20:20
    hostcms
  • А вообще, мне представляется, что данная проблема может быть решена просто добавлением доп.свойств на вкладку "сайты", так чтобы у каждого сайта был свой набор доп.свойств.

    31.05.2013 16:40:43
    Kotoff

    Тоже вариант. Но решение какое-то нужно все таки придумать! В принципе модуль константы реализован вполне так как надо... Нужно тот же функционал + каталоги + (удаляемые, не удаляемые...) и все больше не чего.

    31.05.2013 18:26:21
    ferdinant

    Да, это было бы самое лучше решение.

    31.05.2013 17:18:54
    ilovehostcms
    ilovehostcms
  • на самом деле то, о чем вы пишете здесь - реально реализовать на базе инфосистемы той же.

    Информационный элемент будет служить константой. Его название - текст для юзера, а одно из полей можно использовать для латинского наименования константы.

    Потом в макете просто дописываете функцию, которая циклом проходит и объявляет их. Вот и все.

    31.05.2013 15:40:55
    ilovehostcms
    ilovehostcms

    Ну да давай-те изобретем новую галактику... Слетаем на Марс. Спросим совета и Била. А потом сядем и добавим в константы папки.

    31.05.2013 18:32:15
    ferdinant

    Ну это уже совсем overkill :)

    Я, впрочем, для себя придумал на этот счет класс SiteSettings, который при инициализации читает нужные данные из массива в файле, и потом любой элемент этого массива доступен через метод get экземпляра класса по индексу.
    Недостаток у него только один - я не писал для него админку, мне при моем workflow достаточно удобно просто править массив в файле, а заказчикам и их вебмастерам там править нечего.

    31.05.2013 16:38:29
    Kotoff

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

    31.05.2013 16:41:19
    ilovehostcms
    ilovehostcms
  • А еще проще, создать нужную константу в модуле "Константы"

    31.05.2013 13:52:29
    HostDEV.pw

    Нужно доработать там папки! Что разделять системные и пользовательские вот о чем я прошу!

    31.05.2013 13:57:44
    ferdinant
  • > как вызывать эти константы...
    echo CONSTANT_NAME;
    и больше никак.

    > И как в 6 версии вызвать константу текущий год?
    не поверите,
    echo date('Y');
    А константы с годом никогда в системе не было, был метод GetCurrentYear у класса kernel, который внутри себя делал абсолютно то же самое.


    Если вам нужны какие-то пользовательские константы, то их можно определить, например, в макете самого верхнего уровня, в самом начале, еще до тега html.
    Поскольку константы имеют глобальную область видимости, то они будут доступны и в других макетах, и в ТДС.

    31.05.2013 10:53:38
    Kotoff

    С глобальными переменными была, почему-то, проблема при ajaxе. Когда загружался первый (основной) со всеми внутренностями - всё хорошо.
    При первой (!) загрузке внутрь блока контента, где использовались переменные - они не срабатывали.
    Потом, если обновить страницу и во всех последующих загрузках, всё Ок.

    05.06.2013 17:10:42
    Stepan0v

    Скорее всего вы объявляли глобальную переменную где-то в коде, который исполняется уже после того как отрабатывал ajax-обработчик

    05.06.2013 17:18:01
    Kotoff

    Глобальная переменная объявлялась в основном макете, который загружен до ajaxа.

    05.06.2013 17:40:00
    Stepan0v

    Да хрен там, любой макет подключается уже после всех возможных ajax-обработчиков, и только в том случае, если ни один из этих обработчиков не был реально вызван, потому что все они заканчиваются exit() и тогда до макета дело не доходит вообще.
    Вспомните ту схемку обработки запросов в HostCMS, которую я, если мне не изменяется память, именно для вас и нарисовал :)

    05.06.2013 17:49:16
    Kotoff

    1) Загружается страница в макете которой объявляются глобальные переменные.
    2) После того, как первая страница загружена и все переменные заданы, по клику запускается ajax подгрузка контента, в которой используются эти переменные.

    Вот это я имел ввиду, когда говорил, что макет был загружен до ajax

    06.06.2013 18:07:54
    Stepan0v

    1) Загружается страница в макете которой объявляются глобальные переменные.
    2) После того, как первая страница загружена и все переменные заданы, по клику запускается ajax подгрузка контента, в которой используются эти переменные.

    Вот это я имел ввиду, когда говорил, что макет был загружен до ajax

    06.06.2013 00:21:41
    Stepan0v

    Я так и делаю! И другим рассказываю. Ну все же нужны константы которые будут делиться по папкам и быстро нужно будет найти нужную константу... А то сейчас тяжело что-то там найти а представьте если я еще 100-200 своих запулю? Там черт ногу сломит! Также нужно сделать удаляемые и не удаляемые константы. Что пользователь случайно не удалил константу после которой сайт повиснет

    31.05.2013 14:03:43
    ferdinant

    А фильтр сверху для чего?

    31.05.2013 14:08:02
    HostDEV.pw

    А фильтр сверху для чего?

    31.05.2013 14:07:17
    HostDEV.pw

    100-200? О_о
    Да вы, похоже, знаете толк в извращениях! :)
    Я еще могу представить, на что может понадобиться штук 15-20, да и то с трудом...

    31.05.2013 14:07:12
    Kotoff

    Да я такой :) Но группы нужны для деления констант на группы

    31.05.2013 14:16:50
    ferdinant