Вот сегодня проголосовал за 3 добавленных пользователем в свой блог топика. В самодельном блоке топ-блогов этот блог поднялся на 3 позицию. Закрыл сайт. Захожу через некоторое время — у топиков рейтинг 0 показывается, в блоке топов блога нет. Меняю кеш на file вместо xcache — все на месте, как и было.
Зашел незалогиненным в эту тему и сверху вылезла ошибка:
E_WARNING [2] json_encode(): double INF does not conform to the JSON spec, encoded as 0 (/var/www/vhosts/alto-cms.com/altocms.com/engine/include/functions/Main.php on line 166)
Добрый день. Можно передавать параметры в код виджета? Интересует, например, при выводе виджета на странице с топиком передать в него ID автора топика, чтобы вывести доп. информацию. Сейчас приходится вычленять все это через название экшена/эвента и дальше обрабатывать.
Похоже, что у вас раньше файл /common/templates/language/actions/admin/en.php был с BOM. Я его не правил, дата стоит оригинальная, а в новой версии этот файл уже без BOM.
Да, про то, что если перед установкой кук идет какой-то вывод, то она не будет работать, я читал.
Обновиться до 1.1.3 сейчас будет сложно, — с версии 1.0.8 были произведены кардинальные изменения в некоторых частях движка, из-за чего после обновления сайт валится. Надо ковырять, исправлять… Надо как-нибудь все-таки добраться и разобраться, посмотреть в этом ли дело.
Нет. На сайте есть возможность авторизовываться через встроенные в движок учетки и через провайдера opened.
Если входить через встроенную учетку — все ОК, кука создается и человек остается залогиненным на долгое время.
Если входить через провайдера, то кука не создается. После перезапуска браузера приходится логиниться еще раз. Принцип работы модуля логина подобный плагину openId для лайвстрит:
1. Жмется кнопка, идет переход на сайт провайдера
2. Дается разрешение на авторизацию на моем сайте
3. Дальше идет переход на кэлбэк урл, где идет проверка регистрировался ли раньше пользователь через этого провайдера. Если да, то идет авторизация на сайте.
Вот в этот момент почему-то не прописывается кука user_key. Т.е. в этот момент все проверки и действия происходят у меня на сайте уже без переходов на другие домены.
Что-то не пойму. Этот запрос встречается в функции GetMresourcesByCriteria файла Mresource.mapper.class.php. Эта функция встречается только в функции GetMresourcesByCriteria модуля Mresource.class.php и функции EventMresources экшена ActionAdmin.php.
По идее, на главной ни то, ни другое не используется… Плюс на странице топика тоже есть подобный запрос и на других страницах.
Я создал новый тип контента и в админке снял все галки напротив фотосета, ссылки на оригинал и голосования. Может бытЬ, как-то по этому определять? (Стандартный тип статей отключил)
Все, спасибо. Мое фундаментальное недопонимание роутинга было именно в работе реврайта. Я считал, что будут перенаправляться запросы из blogs в community, а нужно было считать так, как вы описали в комментарии.
Да, все сохраняется. Я просто не хочу добавлять в футер или хедер две ссылки с флагами для переключения языков, а хочу вынести это в настройки аккаунта. Я не говорю, что на сайте не работает мультиязычность, меня просто интересует как можно сделать переключение языка сайта через настройки аккаунта, выставив нужную куку в браузере.
Почему же? По идее достаточно прописать нужную куку в браузер и все. Только вот не получается это сделать. Похоже, что при инициализации страницы заново инициализируется язык и прописывается своя кука. Как ее перезатереть на своем уровне я не нашел…
Это я уже сделал, и все работает прекрасно. Теперь я хочу сделать, чтобы пользователь мог зайти в настройки своего профиля и среди остальных настроек мог выбрать желаемый язык сайта. Сохранить все поля, после чего сайт должен показываться в нужном переводе.
Не понимаю, как можно проделать следующую штуку. Хочу добавить на страницу настроек сайта отдельное поле, где можно выбрать язык сайта. Добавляю селект в шаблон, в хук settings_tuning_save_before добавляю
E::ModuleLang()->SetLang('en');
, но в итоге на сайте вообще исчезают все тексты. Пробовал также через
Пересохранил файл, кука встала. Спасибо.
Обновиться до 1.1.3 сейчас будет сложно, — с версии 1.0.8 были произведены кардинальные изменения в некоторых частях движка, из-за чего после обновления сайт валится. Надо ковырять, исправлять… Надо как-нибудь все-таки добраться и разобраться, посмотреть в этом ли дело.
Если входить через встроенную учетку — все ОК, кука создается и человек остается залогиненным на долгое время.
Если входить через провайдера, то кука не создается. После перезапуска браузера приходится логиниться еще раз. Принцип работы модуля логина подобный плагину openId для лайвстрит:
1. Жмется кнопка, идет переход на сайт провайдера
2. Дается разрешение на авторизацию на моем сайте
3. Дальше идет переход на кэлбэк урл, где идет проверка регистрировался ли раньше пользователь через этого провайдера. Если да, то идет авторизация на сайте.
Вот в этот момент почему-то не прописывается кука user_key. Т.е. в этот момент все проверки и действия происходят у меня на сайте уже без переходов на другие домены.
По идее, на главной ни то, ни другое не используется… Плюс на странице топика тоже есть подобный запрос и на других страницах.
в итоге ссылки формируются на сайте в виде /blogs, и они не открываются — ошибка 404.