Вывод ресурсов по выбранному месяцу публикации
Здравствуйте!
Необходимо сделать реализацию архива новостей так, чтобы можно было выбрать, за какой месяц и год выводить ресурсы. Как на картинке.
Порылся полчасика в поисковиках, так понял, что подобных готовых решений не существует. Хотелось бы, чтобы подтолкнули в нужном направлении)
Пока что у меня есть мысли выводить меню с месяцами в форме и контент через сниппет по следующей логике.
При клике по месяцу или году обработчик формы отправляет на эту же страницу POST-запрос с данными о выбранном месяце и годе, сниппет их перехватывает и выводит по этим условиям список ресурсов. Но хотелось бы, конечно, без перезагрузки всей страницы.
Какие еще есть варианты? Спасибо.
Необходимо сделать реализацию архива новостей так, чтобы можно было выбрать, за какой месяц и год выводить ресурсы. Как на картинке.
Порылся полчасика в поисковиках, так понял, что подобных готовых решений не существует. Хотелось бы, чтобы подтолкнули в нужном направлении)
Пока что у меня есть мысли выводить меню с месяцами в форме и контент через сниппет по следующей логике.
При клике по месяцу или году обработчик формы отправляет на эту же страницу POST-запрос с данными о выбранном месяце и годе, сниппет их перехватывает и выводит по этим условиям список ресурсов. Но хотелось бы, конечно, без перезагрузки всей страницы.
Какие еще есть варианты? Спасибо.
Комментарии: 2
Ну что бы было без перезагрузки — это AJAX. Можно сделать по примеру minishop2. Определяете в форме действие, например через Отправку формы можно повесить на клик по месяцу или изменении года.
Создаете /assets/components/arhiv/action.php в котором проверяете является ли это AJAX запросом, присутствует ли action и если эти условия верны, то подключаете точку входа (/index.php). Далее создаете плагин и вешаете его на событие onHandleRequest. В нем на основании экшена вызывать нужный процессор или метод класса.
Или можно в action.php вместо точки входа подкючать свой класс и дергать нужный метод или дергать свой самописный процессор. Только не забываем в action.php написать подключение по API.
Метод класса или процессор должен получать данные формы и на основании этого составлять условие выборки и получать данные. Я бы для этого использовал pdoFetch.
В любом случае придется нормально так разобраться с принципами работы modX.
Создаете /assets/components/arhiv/action.php в котором проверяете является ли это AJAX запросом, присутствует ли action и если эти условия верны, то подключаете точку входа (/index.php). Далее создаете плагин и вешаете его на событие onHandleRequest. В нем на основании экшена вызывать нужный процессор или метод класса.
Или можно в action.php вместо точки входа подкючать свой класс и дергать нужный метод или дергать свой самописный процессор. Только не забываем в action.php написать подключение по API.
Метод класса или процессор должен получать данные формы и на основании этого составлять условие выборки и получать данные. Я бы для этого использовал pdoFetch.
В любом случае придется нормально так разобраться с принципами работы modX.
Спасибо за ответ!
Моих знаний и умений на такое не хватит, всё же придется делать с перезагрузкой страницы, благо она легкая. А потом тогда уже переделывать)
Моих знаний и умений на такое не хватит, всё же придется делать с перезагрузкой страницы, благо она легкая. А потом тогда уже переделывать)
Авторизуйтесь или зарегистрируйтесь, чтобы оставлять комментарии.