Расскажите, пожалуйста подробнее в шаблоне нашел такую переменную $is_ajax = $this->controller->request->isAjax();
Это можно теперь любой контент вызвать через AJAX или нет?
Раскажите подробнее
#2
16 сентября 2014 в 23:16
Это в контроллере так проверить можно что запрос пришел через аякс, а дальше обработать его. Например, если не аякс запрос, то показываем страницу 404… или выполняем что хотели. =)
Если передан в запросе заголовок HTTP_X_REQUESTED_WITH и он равен XMLHttpRequest, то $this->controller->request->isAjax() вернет true.
Иными словами, если вы запрашиваете страницу через штатные аякс запросы jQuery ($.ajax, $.post и т.п.) или иным образом передадите данный заголовок, то система пометит контекст запроса как аякс.
Кроме этого, если вы запросите любой url сайта при помощи аякс запроса, то выведется html результат работы вызванного контроллера и экшена, а не страница сайта целиком.
Иными словами, если вы запрашиваете страницу через штатные аякс запросы jQuery ($.ajax, $.post и т.п.) или иным образом передадите данный заголовок, то система пометит контекст запроса как аякс.
Кроме этого, если вы запросите любой url сайта при помощи аякс запроса, то выведется html результат работы вызванного контроллера и экшена, а не страница сайта целиком.
Вы и раньше могли это делать.Это можно теперь любой контент вызвать через AJAX или нет?
Сегодня в 11:23
#4
20 октября 2014 в 00:17
В принципе частично понял с аяксом, вопрос остался только с меню, можно ли вывести меню в таком виде: отображать только один активный пункт меню, а остальные пункты меню подгружать через аякс? Вопрос не принципиальный, так для саморазвития больше, решение у меня есть другими методами, просто интересно…
#5
20 октября 2014 в 09:33
Можно конечно, но не нужно =)… можно ли вывести меню в таком виде: отображать только один активный пункт меню, а остальные пункты меню подгружать через аякс?
Смысл имеет выводить таким образом контент принципиально не нужный на странице, но к которому пользователь может обратиться в редких случаях (например подгружать какие-то данные о пользователе при клике на его аватарку в разделе где таких аватарок много) или подгружать основной контент страницы по мере его надобности (например при прокрутке страницы вниз). А заморачиваться с аяксом ради нескольких строк меню не стоит, они и так прогрузятся не создав заметной нагрузки ;)
#6
20 октября 2014 в 12:45
Актуально подобное с точки зрения СЕО для каталогов например
Есть раздел Игрушки и Велосипеды,
зайдя в раздел Велосипеды в его меню должны быть только ссылки на велосипеды
и одна активная ссылка на общий раздел игрушки,
а подкатегории игрушек уже должны грузиться по клику аяксом.
Таким образом оптимизируем ссылочное ядро, скрывая не релевантные ссылки в меню.
Есть раздел Игрушки и Велосипеды,
зайдя в раздел Велосипеды в его меню должны быть только ссылки на велосипеды
и одна активная ссылка на общий раздел игрушки,
а подкатегории игрушек уже должны грузиться по клику аяксом.
Таким образом оптимизируем ссылочное ядро, скрывая не релевантные ссылки в меню.