Ответить
заинтриговал))))
1
ajax чат и как с ним быть
Отправлено: 4 Янв 2014#1
В общем проблема таковы. Файл, контролирующий модуль находится в шаблоне - это не хорошо. Шаблон менять нельзя - тоже не хорошо. Как это можно решить? А вот так.
В общем думаю что можно сделать вот так.
Решаем проблему скриптов.
chat.js 100% нужно вывести в modules/chat/ и выводить его автоматически в начало документа где есть метка {{ fps_chat }} или если это main модуля чат (тоесть в шаблоне list.html его нет, но после парсинга он появляется в начале документа)
А вот js скроллер и его css останутся в шаблоне, а также chat.css . Их мы так и будет подключать сами в list.html. Ибо это именно визуальная часть.
Решаем проблему изменения шаблона выводимых сообщений.
HTML для сообщений перед загрузкой страницы чата брать из list.html внутри {% for in %} ну или если это будет проще создать то material.html где не будет {% for in %}. Изменяемые части выводить привычными метками, но уже эти метки будет обрабатывать не php парсер, а js парсер. Наверно метки лучше будет использовать такие же как и были в старом чате.
messages
message.user_id
message.ip
message.del
message.time
message.name
message.message
messages.user_avatar(если js пасрер)
Не знаю можно ли так... но наверно можно даже взять этот html и прогнать через php парсер и вывести ajaxом?
В общем думаю что можно сделать вот так.
Решаем проблему скриптов.
chat.js 100% нужно вывести в modules/chat/ и выводить его автоматически в начало документа где есть метка {{ fps_chat }} или если это main модуля чат (тоесть в шаблоне list.html его нет, но после парсинга он появляется в начале документа)
А вот js скроллер и его css останутся в шаблоне, а также chat.css . Их мы так и будет подключать сами в list.html. Ибо это именно визуальная часть.
Решаем проблему изменения шаблона выводимых сообщений.
HTML для сообщений перед загрузкой страницы чата брать из list.html внутри {% for in %} ну или если это будет проще создать то material.html где не будет {% for in %}. Изменяемые части выводить привычными метками, но уже эти метки будет обрабатывать не php парсер, а js парсер. Наверно метки лучше будет использовать такие же как и были в старом чате.
messages
message.user_id
message.ip
message.del
message.time
message.name
message.message
messages.user_avatar(если js пасрер)
Не знаю можно ли так... но наверно можно даже взять этот html и прогнать через php парсер и вывести ajaxом?
Отредактировано автором 4 Янв 2014
Соразработчик Atom-M CMS
Отправлено: 4 Янв 2014#2
boriska пишет:
Как это можно решить? А вот так.В процессе...
Отправлено: 4 Янв 2014#4
В общем думаю что можно сделать вот так.
Решаем проблему скриптов.
chat.js 100% нужно вывести в modules/chat/ и выводить его автоматически в начало документа где есть метка {{ fps_chat }} или если это main модуля чат (тоесть в шаблоне list.html его нет, но после парсинга он появляется в начале документа)
А вот js скроллер и его css останутся в шаблоне, а также chat.css . Их мы так и будет подключать сами в list.html. Ибо это именно визуальная часть.
Решаем проблему изменения шаблона выводимых сообщений.
HTML для сообщений перед загрузкой страницы чата брать из list.html внутри {% for in %} ну или если это будет проще создать то material.html где не будет {% for in %}. Изменяемые части выводить привычными метками, но уже эти метки будет обрабатывать не php парсер, а js парсер. Наверно метки лучше будет использовать такие же как и были в старом чате.
messages
message.user_id
message.ip
message.del
message.time
message.name
message.message
messages.user_avatar(если js пасрер)
Не знаю можно ли так... но наверно можно даже взять этот html и прогнать через php парсер и вывести ajaxом?
Решаем проблему скриптов.
chat.js 100% нужно вывести в modules/chat/ и выводить его автоматически в начало документа где есть метка {{ fps_chat }} или если это main модуля чат (тоесть в шаблоне list.html его нет, но после парсинга он появляется в начале документа)
А вот js скроллер и его css останутся в шаблоне, а также chat.css . Их мы так и будет подключать сами в list.html. Ибо это именно визуальная часть.
Решаем проблему изменения шаблона выводимых сообщений.
HTML для сообщений перед загрузкой страницы чата брать из list.html внутри {% for in %} ну или если это будет проще создать то material.html где не будет {% for in %}. Изменяемые части выводить привычными метками, но уже эти метки будет обрабатывать не php парсер, а js парсер. Наверно метки лучше будет использовать такие же как и были в старом чате.
messages
message.user_id
message.ip
message.del
message.time
message.name
message.message
messages.user_avatar(если js пасрер)
Не знаю можно ли так... но наверно можно даже взять этот html и прогнать через php парсер и вывести ajaxом?
Соразработчик Atom-M CMS
Отправлено: 4 Янв 2014#5
boriska, чтобы использовать list.html нужно сообщения отправлять не как сейчас, в виде только самих данных, а рендерить в php скрипте и отсылать уже готовый html код.
Я специально от этого отказывался, ведь тогда отправляется масса повторяющегося ненужного кода, а это очень критично на трафике, когда это чат, особенно.
Я специально от этого отказывался, ведь тогда отправляется масса повторяющегося ненужного кода, а это очень критично на трафике, когда это чат, особенно.
Отправлено: 4 Янв 2014#6
Сашка_из_Шебекино, зачем? Просто загрузка идет только первый раз(при загрузке чата вместе со страницей) В этот момент загружается шаблон, сохраняется html для сообщений и потом уже(если не перезагружать) то ничего там кроме самих данных не трогается. Ну и нужно будет заменять метки. Это можно думаю либо сделать просто заменой, но если нужны условники придется попыхтеть. А так просто будет еще одна функция загружаться при загрузке чата.
Соразработчик Atom-M CMS
1
Зарегистрируйтесь или авторизуйтесь что бы писать
Сейчас online: 193. Зарегистрированных: 1. Гостей: 192.