Breadcrumb navigation as an independent option

This commit is contained in:
Don Chambers 2012-10-13 14:09:45 -05:00
parent a8f3c4e00c
commit 43e0f86e4c
9 changed files with 85 additions and 16 deletions

View file

@ -1,3 +1,9 @@
3.97: Changed breadcrumb navigation so it is an independent option. Templates that use custom
static page templates (plugin_staticpage.tpl, plugin_staticpage_aboutpage.tpl,
plugin_staticpage_related.tpl) must be modified to include the condition
{if $staticpage_show_breadcrumb}...{/if}. See included plugin_staticpage.tpl
for example.
3.96: Added last commits missing code part for the javascript hidden boxes (Timbalu) 3.96: Added last commits missing code part for the javascript hidden boxes (Timbalu)
Workaround the use of document.write() for javascript enabled browsers Workaround the use of document.write() for javascript enabled browsers

View file

@ -143,4 +143,7 @@
@define('STATICPAGES_CUSTOM_META_DESC', 'HTML META Seitenbeschreibung (optional)'); @define('STATICPAGES_CUSTOM_META_DESC', 'HTML META Seitenbeschreibung (optional)');
@define('STATICPAGES_CUSTOM_META_KEYS', 'HTML META Seiten Schlüsselwörter (optional)'); @define('STATICPAGES_CUSTOM_META_KEYS', 'HTML META Seiten Schlüsselwörter (optional)');
@define('STATICPAGE_SHOW_BREADCRUMB_DEFAULT', 'Zeige Navigationspfad (Breadcrumbs)');
@define('STATICPAGE_SHOW_BREADCRUMB', 'Zeige Navigationspfad (Breadcrumbs)');
@define('STATICPAGE_SHOW_BREADCRUMB_DESC', 'Zeige auf dieser Seite den Navigationspfad (Breadcrumbs) an');
?> ?>

View file

@ -126,6 +126,11 @@
<label class="sp_label" title="{staticpage_input item="shownavi" what="desc"|escape:js}">{staticpage_input item="shownavi" what="name"|escape:js}</label><br /> <label class="sp_label" title="{staticpage_input item="shownavi" what="desc"|escape:js}">{staticpage_input item="shownavi" what="name"|escape:js}</label><br />
{staticpage_input item="shownavi"} {staticpage_input item="shownavi"}
</div> </div>
<div class="sp_sect">
<label class="sp_label" title="{staticpage_input item="show_breadcrumb" what="desc"|escape:js}">{staticpage_input item="show_breadcrumb" what="name"|escape:js}</label><br />
{staticpage_input item="show_breadcrumb"}
</div>
<div class="sp_sect"> <div class="sp_sect">
<label class="sp_label" title="{staticpage_input item="pre_content" what="desc"|escape:js}">{staticpage_input item="pre_content" what="name"|escape:js}</label><br /> <label class="sp_label" title="{staticpage_input item="pre_content" what="desc"|escape:js}">{staticpage_input item="pre_content" what="name"|escape:js}</label><br />

View file

@ -143,4 +143,7 @@
@define('STATICPAGES_CUSTOM_META_DESC', 'HTML META Seitenbeschreibung (optional)'); @define('STATICPAGES_CUSTOM_META_DESC', 'HTML META Seitenbeschreibung (optional)');
@define('STATICPAGES_CUSTOM_META_KEYS', 'HTML META Seiten Schlüsselwörter (optional)'); @define('STATICPAGES_CUSTOM_META_KEYS', 'HTML META Seiten Schlüsselwörter (optional)');
@define('STATICPAGE_SHOW_BREADCRUMB_DEFAULT', 'Zeige Navigationspfad (Breadcrumbs)');
@define('STATICPAGE_SHOW_BREADCRUMB', 'Zeige Navigationspfad (Breadcrumbs)');
@define('STATICPAGE_SHOW_BREADCRUMB_DESC', 'Zeige auf dieser Seite den Navigationspfad (Breadcrumbs) an');
?> ?>

View file

@ -176,4 +176,7 @@
@define('PLUGIN_STATICPAGE_PREVIEW', 'The preview of your static page has been opened in a new pop-up window. If you can not see this, please click this link: %s'); @define('PLUGIN_STATICPAGE_PREVIEW', 'The preview of your static page has been opened in a new pop-up window. If you can not see this, please click this link: %s');
@define('STATICPAGE_SHOW_BREADCRUMB_DEFAULT', 'Show breadcrumb');
@define('STATICPAGE_SHOW_BREADCRUMB', 'Show breadcrumb');
@define('STATICPAGE_SHOW_BREADCRUMB_DESC', 'Show breadcrumb navigation on this page.');
?> ?>

View file

@ -12,13 +12,16 @@
<td class="staticpage_navigation_center" style="width: 60%; text-align: center"><a href="{$staticpage_navigation.top.link}" title="top">{$staticpage_navigation.top.name|@escape}</a></td> <td class="staticpage_navigation_center" style="width: 60%; text-align: center"><a href="{$staticpage_navigation.top.link}" title="top">{$staticpage_navigation.top.name|@escape}</a></td>
<td class="staticpage_navigation_right" style="width: 20%; text-align: right"><a href="{$staticpage_navigation.next.link}" title="next">{$staticpage_navigation.next.name|@escape}</a></td> <td class="staticpage_navigation_right" style="width: 20%; text-align: right"><a href="{$staticpage_navigation.next.link}" title="next">{$staticpage_navigation.next.name|@escape}</a></td>
</tr> </tr>
<tr> {if $staticpage_show_breadcrumb}
<td class="staticpage_navigation_center"> <tr>
{foreach name="crumbs" from=$staticpage_navigation.crumbs item="crumb"} <td class="staticpage_navigation_center">
{if !$smarty.foreach.crumbs.first}&raquo;{/if}<a href="{$crumb.link}">{$crumb.name|@escape}</a> <a href="{$serendipityBaseURL}">{$CONST.HOME|lower|capitalize:true}</a>&nbsp;&raquo;
{/foreach} {foreach name="crumbs" from=$staticpage_navigation.crumbs item="crumb"}
</td> {if !$smarty.foreach.crumbs.first}&raquo;&nbsp;{/if}{if !$smarty.foreach.crumbs.last}<a href="{$crumb.link}">{$crumb.name|@escape}</a>{else}{$crumb.name|@escape}{/if}
</tr> {/foreach}
</td>
</tr>
{/if}
</table> </table>
{/if} {/if}

View file

@ -12,6 +12,16 @@
<td class="staticpage_navigation_center" style="width: 60%; text-align: center"><a href="{$staticpage_navigation.top.link}" title="top">{$staticpage_navigation.top.name|@escape}</a></td> <td class="staticpage_navigation_center" style="width: 60%; text-align: center"><a href="{$staticpage_navigation.top.link}" title="top">{$staticpage_navigation.top.name|@escape}</a></td>
<td class="staticpage_navigation_right" style="width: 20%; text-align: right"><a href="{$staticpage_navigation.next.link}" title="next">{$staticpage_navigation.next.name|@escape}</a></td> <td class="staticpage_navigation_right" style="width: 20%; text-align: right"><a href="{$staticpage_navigation.next.link}" title="next">{$staticpage_navigation.next.name|@escape}</a></td>
</tr> </tr>
{if $staticpage_show_breadcrumb}
<tr>
<td class="staticpage_navigation_center">
<a href="{$serendipityBaseURL}">{$CONST.HOME|lower|capitalize:true}</a>&nbsp;&raquo;
{foreach name="crumbs" from=$staticpage_navigation.crumbs item="crumb"}
{if !$smarty.foreach.crumbs.first}&raquo;&nbsp;{/if}{if !$smarty.foreach.crumbs.last}<a href="{$crumb.link}">{$crumb.name|@escape}</a>{else}{$crumb.name|@escape}{/if}
{/foreach}
</td>
</tr>
{/if}
</table> </table>
{/if} {/if}

View file

@ -12,6 +12,16 @@
<td class="staticpage_navigation_center" style="width: 60%; text-align: center"><a href="{$staticpage_navigation.top.link}" title="top">{$staticpage_navigation.top.name|@escape}</a></td> <td class="staticpage_navigation_center" style="width: 60%; text-align: center"><a href="{$staticpage_navigation.top.link}" title="top">{$staticpage_navigation.top.name|@escape}</a></td>
<td class="staticpage_navigation_right" style="width: 20%; text-align: right"><a href="{$staticpage_navigation.next.link}" title="next">{$staticpage_navigation.next.name|@escape}</a></td> <td class="staticpage_navigation_right" style="width: 20%; text-align: right"><a href="{$staticpage_navigation.next.link}" title="next">{$staticpage_navigation.next.name|@escape}</a></td>
</tr> </tr>
{if $staticpage_show_breadcrumb}
<tr>
<td class="staticpage_navigation_center">
<a href="{$serendipityBaseURL}">{$CONST.HOME|lower|capitalize:true}</a>&nbsp;&raquo;
{foreach name="crumbs" from=$staticpage_navigation.crumbs item="crumb"}
{if !$smarty.foreach.crumbs.first}&raquo;&nbsp;{/if}{if !$smarty.foreach.crumbs.last}<a href="{$crumb.link}">{$crumb.name|@escape}</a>{else}{$crumb.name|@escape}{/if}
{/foreach}
</td>
</tr>
{/if}
</table> </table>
{/if} {/if}

View file

@ -48,7 +48,8 @@ class serendipity_event_staticpage extends serendipity_event
'shownavi', 'shownavi',
'showonnavi', 'showonnavi',
'showmeta', 'showmeta',
'timestamp' 'timestamp',
'show_breadcrumb'
); );
var $config_types = array( var $config_types = array(
@ -86,8 +87,8 @@ class serendipity_event_staticpage extends serendipity_event
$propbag->add('page_configuration', $this->config); $propbag->add('page_configuration', $this->config);
$propbag->add('type_configuration', $this->config_types); $propbag->add('type_configuration', $this->config_types);
$propbag->add('author', 'Marco Rinck, Garvin Hicking, David Rolston, Falk Doering, Stephan Manske, Pascal Uhlmann, Ian'); $propbag->add('author', 'Marco Rinck, Garvin Hicking, David Rolston, Falk Doering, Stephan Manske, Pascal Uhlmann, Ian, Don Chambers');
$propbag->add('version', '3.96'); $propbag->add('version', '3.97');
$propbag->add('requirements', array( $propbag->add('requirements', array(
'serendipity' => '1.3', 'serendipity' => '1.3',
'smarty' => '2.6.7', 'smarty' => '2.6.7',
@ -103,10 +104,11 @@ class serendipity_event_staticpage extends serendipity_event
'is_startpage', 'is_startpage',
'is_404_page', 'is_404_page',
'shownavi', 'shownavi',
'show_breadcrumb',
'showonnavi', 'showonnavi',
'showtextorheadline', 'showtextorheadline',
'showmeta', 'showmeta',
'use_quicksearch' 'use_quicksearch'
)); ));
$this->cachefile = $serendipity['serendipityPath'] . PATH_SMARTY_COMPILE . '/staticpage_pagelist.dat'; $this->cachefile = $serendipity['serendipityPath'] . PATH_SMARTY_COMPILE . '/staticpage_pagelist.dat';
} }
@ -144,6 +146,13 @@ class serendipity_event_staticpage extends serendipity_event
$propbag->add('default', 'true'); $propbag->add('default', 'true');
break; break;
case 'show_breadcrumb':
$propbag->add('type', 'boolean');
$propbag->add('name', STATICPAGE_SHOW_BREADCRUMB_DEFAULT);
$propbag->add('description', STATICPAGE_DEFAULT_DESC);
$propbag->add('default', '1');
break;
case 'markup': case 'markup':
$propbag->add('type', 'boolean'); $propbag->add('type', 'boolean');
$propbag->add('name', STATICPAGE_SHOWMARKUP_DEFAULT); $propbag->add('name', STATICPAGE_SHOWMARKUP_DEFAULT);
@ -325,7 +334,14 @@ class serendipity_event_staticpage extends serendipity_event
$propbag->add('default', $this->get_config('showonnavi')); $propbag->add('default', $this->get_config('showonnavi'));
break; break;
case 'publishstatus': case 'show_breadcrumb':
$propbag->add('type', 'boolean');
$propbag->add('name', STATICPAGE_SHOW_BREADCRUMB);
$propbag->add('description', STATICPAGE_SHOW_BREADCRUMB_DESC);
$propbag->add('default', $this->get_config('show_breadcrumb'));
break;
case 'publishstatus':
$propbag->add('type', 'select'); $propbag->add('type', 'select');
$propbag->add('name', STATICPAGE_PUBLISHSTATUS); $propbag->add('name', STATICPAGE_PUBLISHSTATUS);
$propbag->add('description', STATICPAGE_PUBLISHSTATUS_DESC); $propbag->add('description', STATICPAGE_PUBLISHSTATUS_DESC);
@ -773,6 +789,7 @@ class serendipity_event_staticpage extends serendipity_event
related_category_id int(4) default 0, related_category_id int(4) default 0,
shownavi int(4) default '1', shownavi int(4) default '1',
showonnavi int(4) default '1', showonnavi int(4) default '1',
show_breadcrumb int(4) default '1',
publishstatus int(4) default '1', publishstatus int(4) default '1',
language varchar(10) default '') {UTF_8}"); language varchar(10) default '') {UTF_8}");
@ -908,8 +925,12 @@ class serendipity_event_staticpage extends serendipity_event
$sql .= ' AFTER is_startpage'; $sql .= ' AFTER is_startpage';
} }
serendipity_db_schema_import($sql); serendipity_db_schema_import($sql);
case 19:
$this->set_config('db_built', 19); if (!$fresh) {
$q = "ALTER TABLE {$serendipity['dbPrefix']}staticpages ADD COLUMN show_breadcrumb int(4) default '1'";
serendipity_db_schema_import($q);
}
$this->set_config('db_built', 20);
break; break;
} }
} }
@ -1210,6 +1231,7 @@ class serendipity_event_staticpage extends serendipity_event
$pagevar . 'created_on' => $this->get_static('timestamp'), $pagevar . 'created_on' => $this->get_static('timestamp'),
$pagevar . 'lastchange' => $this->get_static('last_modified'), $pagevar . 'lastchange' => $this->get_static('last_modified'),
$pagevar . 'shownavi' => $this->get_static('shownavi'), $pagevar . 'shownavi' => $this->get_static('shownavi'),
$pagevar . 'show_breadcrumb' => $this->get_static('show_breadcrumb'),
$pagevar . 'custom' => $this->get_static('custom') $pagevar . 'custom' => $this->get_static('custom')
// same thing as above // same thing as above
// $pagevar . 'related_category_entries' => $related_category_entries // $pagevar . 'related_category_entries' => $related_category_entries
@ -1462,7 +1484,9 @@ class serendipity_event_staticpage extends serendipity_event
if (!isset($this->staticpage['showonnavi'])) { if (!isset($this->staticpage['showonnavi'])) {
$this->staticpage['showonnavi'] = '1'; $this->staticpage['showonnavi'] = '1';
} }
if (!isset($this->staticpage['show_breadcrumb'])) {
$this->staticpage['show_breadcrumb'] = '1';
}
if (empty($this->staticpage['markup'])) { if (empty($this->staticpage['markup'])) {
$this->staticpage['markup'] = '0'; $this->staticpage['markup'] = '0';
} }
@ -1475,7 +1499,9 @@ class serendipity_event_staticpage extends serendipity_event
if (empty($this->staticpage['showonnavi'])) { if (empty($this->staticpage['showonnavi'])) {
$this->staticpage['showonnavi'] = '0'; $this->staticpage['showonnavi'] = '0';
} }
if (empty($this->staticpage['show_breadcrumb'])) {
$this->staticpage['show_breadcrumb'] = '0';
}
if (empty($this->staticpage['articletype'])) { if (empty($this->staticpage['articletype'])) {
$this->staticpage['articletype'] = '0'; $this->staticpage['articletype'] = '0';
} }