Нужна помощь
Дмитрий |
|
---|---|
Ну может кто-то под свои проекты модернизировал. Я сейчас программисту отдал плагин на доработку, если он сделает, то выложу сдесь обновленный. А Pagelist у меня в проекте уже используется с интернационализацией и вполне успешно. Но для этой конкретной цели, он не очень подходит. Мне нужно дергать текст из 2х страниц в 2 отдельных блока на главной странице, а Pagelist работает с категориями, а не с id страницы. Добавлено 14 часов спустя: В общем получилось вот так. Плагин PageText by ID теперь работает с i18n. Код писал не я, так что на его идеальность не предендую) <?php /* ==================== [BEGIN_COT_EXT] Hooks=global [END_COT_EXT] ==================== */ defined('COT_CODE') or die('Wrong URL'); require_once cot_incfile('page', 'module'); /** * Returns parsed page_text for a given page * @param int|string $pid Page ID or Alias * @return string */ function pagetextbyid($pid) { global $db, $db_pages, $cfg, $last_pagetext; $last_pagetext = array(); $last_pagetext['pid'] = $pid; if (is_numeric($pid)) { $last_pagetext['id'] = $id; $where_condition = 'p.page_id = '.((int)$pid); } else { $last_pagetext['alias'] = $pid; $where_condition = 'p.page_alias = "'.$db->quote($pid).'"'; } // Add i18n features if installed if (cot_plugin_active('i18n')) { global $db_i18n_pages, $i18n_locale; $join_columns .= ' , i18n.ipage_text, i18n.ipage_title '; $join_tables .= ' LEFT JOIN '.$db_i18n_pages.' AS i18n ON i18n.ipage_id=p.page_id AND i18n.ipage_locale="'.$i18n_locale.'" AND i18n.ipage_id IS NOT NULL '; } $res = $db->query("SELECT p.page_id, p.page_alias, p.page_title, p.page_text, p.page_parser $join_columns FROM $db_pages AS p $join_tables WHERE $where_condition"); if ($res->rowCount() > 0) { $row = $res->fetch(); $row['page_text'] = ($row['ipage_text'] ?: $row['page_text']); $row['page_title'] = ($row['ipage_title'] ?: $row['page_title']); $last_pagetext['text'] = cot_parse($row['page_text'], $cfg['page']['markup'], $row['page_parser']); $last_pagetext['id'] = $row['page_id']; $last_pagetext['alias'] = $row['page_alias']; $last_pagetext['title'] = $row['page_title']; return $last_pagetext['text']; } else { return ''; } } ?> З.Ы. Если кто ещё подскажет как им дергать не только поле text, а ещё и title, буду благодарен. |
|
Bu gönderi Дмитрий tarafından düzenlendi (2017-01-19 10:34, 8 yıllar önce) |