1
0
mirror of https://github.com/e107inc/e107.git synced 2025-06-05 02:15:13 +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['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');
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');
}

View File

@ -78,7 +78,7 @@ class page_sitelink // include plugin-folder in the name.
}
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 !=''
$q[] = "page_class IN (".USERCLASS_LIST.")";

View File

@ -15,7 +15,7 @@ if (!defined('e107_INIT')) { exit; }
$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');
if($request && is_array($request))

View File

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

View File

@ -47,29 +47,7 @@ elseif(vartrue($_GET['bk'])) // List Chapters within a specific Book
elseif(vartrue($_GET['ch'])) // List Pages within a specific Chapter
{
$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);
$text = $e107CorePage->listPages($_GET['ch'],$template);
@ -216,17 +194,28 @@ class pageClass
$sql = e107::getDb('chap');
$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 "))
{
$text .= "<ul class='page-chapters-list'>";
$text .= $template['start']; // "<ul class='page-chapters-list'>";
while($row = $sql->db_Fetch())
{
$text .= "<li>";
$text .= "<h4>".$tp->toHtml($row['chapter_name'])."</h4>"; // Chapter Title.
$text .= $this->listPages(intval($row['chapter_id']));
$text .= "</li>";
}
$text .= "</ul>";
$var = array(
'CHAPTER_NAME' => $tp->toHtml($row['chapter_name']),
'CHAPTER_DESCRIPTION' => $tp->toHtml($row['chapter_meta_description'],true,'BODY'),
'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 .= $template['end'];
// $text .= "</ul>";
}
return $text;
@ -234,14 +223,13 @@ class pageClass
// TODO template for page list
function listPages($chapt=0,$template='')
function listPages($chapt=0)
{
$sql = e107::getDb('pg');
$tp = e107::getParser();
$this->batch = e107::getScBatch('page',null,'cpage');
$template = e107::getCoreTemplate('page','listPages',true,true); // always merge
if(!e107::getPref('listPages', false))
{
@ -258,11 +246,10 @@ class pageClass
}
else
{
// $text .= "<ul class='page-pages-list'>";
$text .= $template['start'];
$pageArray = $sql->db_getList();
$text .= $template['start'];
foreach($pageArray as $page)
{
@ -281,7 +268,7 @@ class pageClass
$text .= $template['end'];
// $text .= "</ul>";
// $caption = ($title !='')? $title: LAN_PAGE_11;
// e107::getRender()->tablerender($caption, $text,"cpage_list");
}