Формирование url и title в режиме api отличном от 1
Closed this issue · 2 comments
Начало обсуждения тут: #243 (comment)
Ключевая мысль:
А все-таки, почему ни [+title+], ни [+url+] не формируются в любом случае, кроме &api=
1
?
Предполагаю, что тикет #171 чем-то связан, т.к. там была похожая проблема - в режиме api=1 не отключалось формирование ссылок через makeUrl=0.
В попытке решить этот вопрос прислан PR #245. Но он разбит на коммиты и в конечном счете непонятно что он исправляет, а что ломает. Поэтому чтобы двинуться дальше нужно проверить и покрыть тестами этот момент.
Приношу извинения за вчерашние путаные коммиты.
Проблема больше в неоднозначности параметров. Так что теперь &api=`список полей` определяет то, что попадет в итоговый json-массив. Хотим, чтобы там было title и url, значит указываем в параметре &api=`id, pagetitle, longtitle, title, url` и при возможности получим в выводе title и url. Не хотим тянуть поле content для обработки ссылок, значит используем параметр selectFields, чтобы оно не попало в исходные данные: &selectFields=`id,pagetitle,longtitle,menutitle` - ссылки будут построены по id. Не будет id, не будет и url, аналогично &selectFields=`id,longtitle,menutitle` - поле title не будет создано, так как для этого нужно иметь в исходных данных pagetitle.