Редакция тут особой роли не играет. На вскидку, приходит в голову такой вариант (самый простой): Список новостей
1)Через urlrewrite отправляем все запросы вида /news/xxxx/xx/xx/ на файл /news/index.php
2)В urlrewrite парсим url и формируем 3 get-параметра (day, month, year)
3) В файле /news/index.php вызываем компонент news.list, перед компонентом формируем фильтр новостей по дате, название фильтра через FILTER_NAME передаем компоненту.
Детальная
1)Через urlrewrite отправляем все запросы вида /news/xxxx/xx/xx/xxxxxxxxx/ на файл /news/detail.php
2)В urlrewrite парсим url и формируем get-параметр, который будет содержать символьный код новости.
3)В файле /news/detail.php вызываем компонент news.detail и передаем в параметр ELEMENT_CODE символьный код новости.
Также можно кастомизировать комплексный компонент bitrix:news или написать свой.
Не пользоваться ajaxSetup, т.к. глобальные настройки - зло. Если нужно делать похожие запросы - оберните в функцию, которая, например, будет возвращать промис:
function _send(url, data) {
return $.ajax({
url: url,
data: data
/* Some settings */
});
}
// пример использования
_send(url, {}).done(function () {});
Самый простой вариант - вывод с помощью news.list, а добавление с помощью iblock.element.add.form. Все "из коробки", только шаблоны создать. Если нужны уведомления на почту - можно повеситься на событие создания элемента инфоблока. Если нужна валидация - также можно использовать событие создания элемента (но уже before, чтобы можно было отменить создание).
По всей видимости, за отделение главной новости от всех остальных отвечает какое-то свойство. Посмотрите список свойств в настройках инфоблока, а затем распечатайте arResult и поищите там это свойство по символьного коду. Дальше нужно просто обработать вывод новости с установленым свойством в шаблоне.