Это, вероятно, самый запутанный способ хранения контента, с которым я когда-либо сталкивался. После выполнения текстовых запросов к базе данных я, наконец, нашел, где хранится контент, но это не простой процесс, чтобы получить его.
пажескую основной записи, кажется, sf_page_node, есть соответствующие таблицы:
- sf_object_data (page_id связано с sf_page_node.content_id)
- sf_draft_pages (page_id связано с sf_page_node.content_id)
- sf_page_data (content_id связано с sf_page_node.content_id)
- sf_control_properties (control_ID связано с sf_object_data.id)
Таким образом, вы можете получить информацию, вам нужно с помощью запроса, как это:
select * from
[sf_page_node]
join sf_object_data on sf_page_node.content_id = sf_object_data.page_id
join sf_control_properties on sf_object_data.id = sf_control_properties.control_id
Другие вещи, чтобы рассмотреть следующие вопросы:
- parent_id поле связано с таблицей sf_page_node, так что если вы написав скрипт, обязательно запросите его также
- на странице может быть изображение баннера, вы получите значение «place_holder» как «BannerHolder» с надписью «Изображение». Изображение может быть сохранено как капли в sf_media_content, вы должны обрабатывать это отдельно. Значение «nme» в «ImageId» будет иметь идентификатор GUID в столбце «val». Вы можете запросить sf_media_content с этим значением, как «content_id» фактические двоичные данные хранятся в sf_chunks, они связаны с «file_id»
Мой пересмотренный запрос с учетом того, что мне нужно перенести содержимое ниже:
select
original.content_id,
original.url_name_,
original.title_,
parent.id,
parent.url_name_,
parent.title_,
place_holder,
sf_object_data.caption_,
sf_control_properties.nme,
val
from [sf_page_node] original
join sf_object_data on original.content_id = sf_object_data.page_id
join sf_control_properties on sf_object_data.id = sf_control_properties.control_id
join sf_page_node parent on original.parent_id = parent.id
Надеюсь, это поможет кому-то!
Thanks Veselin, как таблица sf_control_properties относится к другим таблицам? Кроме того, что вы подразумеваете под «делать запрос GET на каждой странице», я не могу полагаться на очистку живого сайта, поскольку многие страницы больше не связаны с ними, однако они все же должны быть перенесены в исторических целях , поэтому я работаю в БД. – Daniel
Nevermind, некоторые дальнейшие текстовые исследования в DB приводят меня к ответу, они присоединяются к sf_object_data.id = sf_control_properties.control_id. Спасибо за ваш вклад, я обновлю свой ответ – Daniel
Хорошо, что вы нашли его сами. Что касается GET - вы можете создать файл sitemap со всеми страницами сайта, а затем запросить их. –