Приведите пример для аджакса в хелпере, дальше сам дожую Есть решение
Придумал фишку - клиент жмет кнопку на главной и в ответ получает список товаров, например, новинки.
Как это сделать аджаксом, если эти новинки получаю как список (в админке Товары -> Список типа фильтр) ? Как обратиться к хелперу?
Сразу выводить на странице не хотелось бы, а только после клика по кнопке, так список в итоге будет длинный, 100-200 товаров
Эта тема в архиве. Добавление комментариев к ней отключено.
17 ответов
В хелпере не выйдет. Нужен полноценный плагин. Ибо роутинг.
Если попытаться получить содержимое страницы "Сайта" через AJAX, то вернётся только её основное содержимое, без остальной обвязки.
Поэтому можно в код шаблона темы дизайна "Сайта" page.html добавить условие вида
Если затем к любой опубликованной странице "Сайта" обратиться через AJAX с GET-параметром ?ajax=product_list, то должно вернуться HTML-содержимое списка товаров.
Но, конечно, это из разряда хаков, когда неохота или нет возможности писать целый плагин из-за такой "мелочи".
* Описанное не проверял, но вроде должно работать.
спасибо. думал, может есть какие-то хелперы штатные, к которым можно было бы обратиться через урл
Хелперы — они только для отображения данных на странице, но не для обработки запросов к сайту. Для обработки запросов нужен контроллер.
сделал тест-страничку, в ней код смарти (запрос к хелперу), обращаюсь к этой тест-страничке аджаксом по урлу, все отрабатывает и выводит.
как теперь лучше поступить с этой тест-страничкой?
оставить - будет видна поисковикам,
встроить код из неё в уже существующие страницы - оборачивать условием всю страницу.
какой вариант предпочтительнее?
Измените условие
так:
Тогда эта ветка кода будет работать для единственной страницы с адресом mypageurl/ (выберите одну из существующих нормальных страниц для этих целей в качестве "жертвы" и укажите её URL вместо mypageurl/ в условии).
Я понимаю, как некрасиво всё это выглядит, то надо же придумать для вас какое-то простое решение :)
разве так? я же вставляю условие на этой же странице, зачем ей узнавать свой собственный урл?
Я вам выше предлагал добавить условие в шаблоне page.html, а не в страницу. Подумал, что вы так и сделали.
Если вставляете условия в код страницы, то придётся её сохранить и наполнить чем-то полезным для отображения на сайте. Или перенесите это условие в другую существующую страницу. В этом случае дополнительное условие, которое я предложил в предыдущем комментарии, не нужно, конечно.
Ну или использовать страницу-черновик вместе с параметром preview_url, раз уж речь о костылях.
А без авторизации в бекенде разве будет работать?
Да, вполне.
Скрытое поселение "Сайта". Обрезанная тема с {$content} в index.html и {$page.content} в page.html
И страницами-черновиками вообще можем генерировать любой контент :) CSV, к примеру.
спасибо! и последний вопрос в этой теме - почему это все-таки костыль? разве стандартный поиск по характеристикам внутри категории не так работает? также идет GET-запрос, шаблон передает GET-параметры хелперу и получает список товаров...???
Потому что вам пришлось для отдачи списка товаров использовать страницу, которая изначально для этого не предназначалась (ведь так?). Притом даже страницу другого приложения (Сайт), а не Shop-Script. По моим ощущениям это не выглядит как архитектурно стройное решение.
А если вы когда-нибудь решите удалить эту страницу, изменить её URL или убрать её в черновики, то можете забыть о её дополнительной роли в работе магазина, и подгрузка списков товаров через AJAX неожиданно сломается.
я планирую это все на главной, главная - это магазин
щас подумал - а если на саму себя через POST? тут же все и получу...
неплохое обсуждении получилось, да еще и в гугле если набрать "дальше сам дожую" - эта страница первая))))
дальше сам дожую скачать онлайн на высокой скорости без СМС и регистрации