Есть несколько блогов на WordPress. Пишу приложение, в котором нужно реализовать возможность создавать индивидуальные ссылки на любые статьи любого блога. Нужно для подсчета статистики, какой пользователь, сколько посетителей привлек.
Для удобства пользователей, список статей нужно выводить прямо в приложении (выбрал блог, затем статью, нажал "Создать ссылку", получил свой индивидуальный URL).
Статьи получаю через расширение
yii2-wordpress (оно использует XML-RPC). С этим проблем нет, как и с созданием ссылки.
Хочется реализовать список статей в виде ActiveRecord. Чтобы работать со статьями как будто они хранятся в БД, вообщем как с обычным ActiveRecord (только чтение).
Нужно будет сделать связи (relations) между моделями:
Link->getPage()
Page->getSite()
Site->getPages()
Далее выводить список моделей Page через стандартный GridView с возможностью сортировки и фильтрации.
Вопрос в том как это грамотно реализовать, чтобы модель Page вела себя как обычный ActiveRecord несмотря на то что данные берутся с удаленного сервера, а не из БД?
- От какого класса наследовать модель Post или какой интерфейс реализовывать, чтобы она вела себя как обычный ActiveRecord?
- Какие методы реализовывать, учитывая что нужно только чтение, а создавать, редактировать и удалять не понадобиться?
Далее нужно будет аналогично реализовать связанные с Post модели: Tag, Category, Author, источником которых так же будет XML-RPC.
Буду рад любым подсказкам.