1
0
mirror of https://github.com/e107inc/e107.git synced 2025-07-31 20:00:37 +02:00

Page templates for listPages and listChapters

This commit is contained in:
Cameron
2013-05-29 19:37:06 -07:00
parent dad6386460
commit 19b616dae4
6 changed files with 75 additions and 66 deletions

View File

@@ -175,3 +175,29 @@ $sc_style['CPAGENAV|default']['post'] = '</div>';
'; ';
$PAGE_TEMPLATE['nav']['submenu_end'] = '</ul>'; $PAGE_TEMPLATE['nav']['submenu_end'] = '</ul>';
$PAGE_TEMPLATE['listPages']['start'] = "<ul class='page-pages-list'>";
$PAGE_TEMPLATE['listPages']['item'] = "<li><a href='{CPAGEURL}'>{CPAGETITLE}</a></li>";
$PAGE_TEMPLATE['listPages']['end'] = "</ul>";
$PAGE_TEMPLATE['listChapters']['start'] = "<ul class='page-chapters-list'>";
$PAGE_TEMPLATE['listChapters']['item'] = "<li><h4>{CHAPTER_NAME}</h4>{PAGES}";
$PAGE_TEMPLATE['listChapters']['end'] = "</ul>";
?>

View File

@@ -19,7 +19,7 @@ class page_shortcodes extends e_shortcode
$this->request = e107::getRegistry('core/pages/request'); $this->request = e107::getRegistry('core/pages/request');
if(varset($this->request['action']) == 'listPages' && vartrue($this->request['id'])) if((varset($this->request['action']) == 'listPages' || varset($this->request['action']) == 'listChapters') && vartrue($this->request['id']))
{ {
$this->var = e107::getDb()->retrieve('page_chapters','chapter_name, chapter_meta_description','chapter_id = '.intval($this->request['id']).' LIMIT 1'); $this->var = e107::getDb()->retrieve('page_chapters','chapter_name, chapter_meta_description','chapter_id = '.intval($this->request['id']).' LIMIT 1');
} }

View File

@@ -78,7 +78,7 @@ class page_sitelink // include plugin-folder in the name.
} }
elseif(vartrue($options['book'])) elseif(vartrue($options['book']))
{ {
$q[] = "page_chapter IN (SELECT chapter_id FROM #page_chapters WHERE chapter_parent=".intval($options['book']).")"; $q[] = "page_title !='' && page_chapter IN (SELECT chapter_id FROM #page_chapters WHERE chapter_parent=".intval($options['book']).")";
} }
// XXX discuss FIXED remove DB check, use default title - AND page_title !='' // XXX discuss FIXED remove DB check, use default title - AND page_title !=''
$q[] = "page_class IN (".USERCLASS_LIST.")"; $q[] = "page_class IN (".USERCLASS_LIST.")";

View File

@@ -15,7 +15,7 @@ if (!defined('e107_INIT')) { exit; }
$parm = eHelper::scParams($parm); $parm = eHelper::scParams($parm);
$template = e107::getCoreTemplate('page',vartrue($parm['template'],'nav'), true, true); // always merge $template = e107::getCoreTemplate('page','nav',false,true); // always merge
$request = e107::getRegistry('core/pages/request'); $request = e107::getRegistry('core/pages/request');
if($request && is_array($request)) if($request && is_array($request))

View File

@@ -52,37 +52,33 @@
$PAGE_TEMPLATE['navdoc']['end'] = '</ul>'; $PAGE_TEMPLATE['navdoc']['end'] = '</ul>';
$PAGE_TEMPLATE['navdoc']['submenu_start'] = '<ul class="page-navdoc" id="page-navdoc-{LINK_PARENT}" role="menu" >'; $PAGE_TEMPLATE['navdoc']['submenu_start'] = '';
$PAGE_TEMPLATE['navdoc']['submenu_item'] = '';
$PAGE_TEMPLATE['navdoc']['submenu_loweritem'] = '';
$PAGE_TEMPLATE['navdoc']['submenu_loweritem_active'] = '';
$PAGE_TEMPLATE['navdoc']['submenu_item_active'] = '';
$PAGE_TEMPLATE['navdoc']['submenu_end'] = '';
$PAGE_TEMPLATE['navdoc']['submenu_item'] = '
<li role="menuitem" > $PAGE_TEMPLATE['listPages']['start'] = '';
<a href="{LINK_URL}">{LINK_IMAGE}{LINK_NAME}</a> $PAGE_TEMPLATE['listPages']['item'] = '
{LINK_SUB} <section id="{CPAGEANCHOR}">
</li> <div class="page-header">
<h1>{CPAGETITLE}</h1>
</div>
{CPAGEBODY}
</section>
'; ';
$PAGE_TEMPLATE['listPages']['end'] = '';
$PAGE_TEMPLATE['navdoc']['submenu_loweritem'] = '
<li role="menuitem" >
<a href="{LINK_URL}">{LINK_IMAGE}{LINK_NAME}</a>
{LINK_SUB}
</li>
';
$PAGE_TEMPLATE['navdoc']['submenu_loweritem_active'] = '
<li role="menuitem" class="active">
<a href="{LINK_URL}">{LINK_IMAGE}{LINK_NAME}</a>
{LINK_SUB}
</li>
';
$PAGE_TEMPLATE['navdoc']['submenu_item_active'] = ' $PAGE_TEMPLATE['listChapters']['start'] = '<section id="{CPAGEANCHOR}">';
<li role="menuitem" class="active"> $PAGE_TEMPLATE['listChapters']['item'] = "<a href='{CHAPTER_URL}'><h1>{CHAPTER_NAME}</h1></a>
<a href="{LINK_URL}">{LINK_IMAGE}{LINK_NAME}</a> {CHAPTER_DESCRIPTION}
{LINK_SUB} ";
</li> $PAGE_TEMPLATE['listChapters']['end'] = "</section>";
';
$PAGE_TEMPLATE['navdoc']['submenu_end'] = '</ul>';
?> ?>

View File

@@ -48,28 +48,6 @@ elseif(vartrue($_GET['ch'])) // List Pages within a specific Chapter
{ {
$e107CorePage->setRequest('listPages'); $e107CorePage->setRequest('listPages');
if($_GET['action']=='all') // See bootstrap 'docs' layout for an example.
{
$template = array();
$template['start'] = '';
$template['item'] = '
<section id="{CPAGEANCHOR}">
<div class="page-header">
<h1>{CPAGETITLE}</h1>
</div>
{CPAGEBODY}
</section>
';
$template['end'] = '';
define('e_PAGETITLE', 'Documentation'); //FIXME - grab from selected chapter.
}
else
{
$template = array();
$template['start'] = "<ul class='page-pages-list'>";
$template['item'] = "<li><a href='{CPAGEURL}'>{CPAGETITLE}</a></li>";
$template['end'] = "</ul>";
}
require_once(HEADERF); require_once(HEADERF);
$text = $e107CorePage->listPages($_GET['ch'],$template); $text = $e107CorePage->listPages($_GET['ch'],$template);
@@ -216,17 +194,28 @@ class pageClass
$sql = e107::getDb('chap'); $sql = e107::getDb('chap');
$tp = e107::getParser(); $tp = e107::getParser();
$template = e107::getCoreTemplate('page','listChapters', true, true); // always merge
if($sql->db_Select("page_chapters", "*", "chapter_parent = ".intval($book)." ORDER BY chapter_order ASC ")) if($sql->db_Select("page_chapters", "*", "chapter_parent = ".intval($book)." ORDER BY chapter_order ASC "))
{ {
$text .= "<ul class='page-chapters-list'>"; $text .= $template['start']; // "<ul class='page-chapters-list'>";
while($row = $sql->db_Fetch()) while($row = $sql->db_Fetch())
{ {
$text .= "<li>"; $var = array(
$text .= "<h4>".$tp->toHtml($row['chapter_name'])."</h4>"; // Chapter Title. 'CHAPTER_NAME' => $tp->toHtml($row['chapter_name']),
$text .= $this->listPages(intval($row['chapter_id'])); 'CHAPTER_DESCRIPTION' => $tp->toHtml($row['chapter_meta_description'],true,'BODY'),
$text .= "</li>"; 'PAGES' => $this->listPages(intval($row['chapter_id'])),
'CHAPTER_URL' => e_BASE."page.php?ch=".intval($row['chapter_id']) // FIXME SEF-URL
);
$text .= $tp->simpleParse($template['item'],$var);
// $text .= "<li>";
// $text .= "<h4>".$tp->toHtml($row['chapter_name'])."</h4>"; // Chapter Title.
// $text .= $this->listPages(intval($row['chapter_id']));
// $text .= "</li>";
} }
$text .= "</ul>"; $text .= $template['end'];
// $text .= "</ul>";
} }
return $text; return $text;
@@ -234,14 +223,13 @@ class pageClass
// TODO template for page list function listPages($chapt=0)
function listPages($chapt=0,$template='')
{ {
$sql = e107::getDb('pg'); $sql = e107::getDb('pg');
$tp = e107::getParser(); $tp = e107::getParser();
$this->batch = e107::getScBatch('page',null,'cpage'); $this->batch = e107::getScBatch('page',null,'cpage');
$template = e107::getCoreTemplate('page','listPages',true,true); // always merge
if(!e107::getPref('listPages', false)) if(!e107::getPref('listPages', false))
{ {
@@ -259,11 +247,10 @@ class pageClass
else else
{ {
// $text .= "<ul class='page-pages-list'>";
$text .= $template['start'];
$pageArray = $sql->db_getList(); $pageArray = $sql->db_getList();
$text .= $template['start'];
foreach($pageArray as $page) foreach($pageArray as $page)
{ {
$data = array( $data = array(
@@ -281,7 +268,7 @@ class pageClass
$text .= $template['end']; $text .= $template['end'];
// $text .= "</ul>";
// $caption = ($title !='')? $title: LAN_PAGE_11; // $caption = ($title !='')? $title: LAN_PAGE_11;
// e107::getRender()->tablerender($caption, $text,"cpage_list"); // e107::getRender()->tablerender($caption, $text,"cpage_list");
} }