default_html_content.php
4.27 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
<?php
/**
* @package JMAP::SITEMAP::components::com_jmap
* @subpackage views
* @subpackage sitemap
* @subpackage tmpl
* @author Joomla! Extensions Store
* @copyright (C) 2015 - Joomla! Extensions Store
* @license GNU/GPLv2 http://www.gnu.org/licenses/gpl-2.0.html
*/
defined ( '_JEXEC' ) or die ( 'Restricted access' );
$catsave = null;
$close = '';
$showPageBreaks = $this->cparams->get ( 'show_pagebreaks', 1 );
$openTarget = $this->sourceparams->get ( 'opentarget', $this->cparams->get ('opentarget') );
$linkableContentCats = $this->sourceparams->get ( 'linkable_content_cats', 0 );
// Check if mindmind template
$sitemapTemplate = $this->cparams->get('sitemap_html_template', '');
$isMindMap = $sitemapTemplate == 'mindmap' ? true : false;
if(($mergeMenuTreeMode = $this->sourceparams->get ( 'merge_menu_tree', null )) && !$isMindMap && $this->cparams->get('treeview_scripts', 1)) {
$this->document->addScriptDeclaration('jmapMergeMenuTree["com_content"] = "' . $mergeMenuTreeMode . '";');
}
$mergeMenuTreeLevels = $this->sourceparams->get ( 'merge_menu_tree_levels', 'toplevel' );
// Get default menu - home and check if a single article is linked, if so skip to avoid duplicated content
$homeArticleID = false;
$defaultMenu = $this->application->getMenu()->getDefault(JFactory::getLanguage()->getTag());
if( isset($defaultMenu->query['option']) &&
isset($defaultMenu->query['view']) &&
$defaultMenu->query['option'] == 'com_content' &&
$defaultMenu->query['view'] == 'article') {
$homeArticleID = (int)$defaultMenu->query['id'];
}
if (count ( $this->source->data ) != 0) {
require_once (JPATH_BASE . '/components/com_content/helpers/route.php');
$first = true;
// If a containing folder is required
$containingFolderTitle = $this->sourceparams->get('showtitle', 1) && trim($this->sourceparams->get('title', null));
if($containingFolderTitle) {
echo '<ul data-hash="com_content.container" class="jmap_filetree" style="' . $this->marginSide . '0px"><li><span class="folder">' . $this->sourceparams->get('title') . '</span>';
}
foreach ( $this->source->data as $elm ) {
// Article found as linked to home, skip and avoid duplicate link
if((int)$elm->id === $homeArticleID) {
continue;
}
// Set for empty category root nodes that should not be clickable
$noExpandableNode = $elm->id ? '' : ' noexpandable';
$category = ($isMindMap || !$linkableContentCats) ? $elm->category : '<a target="' . $openTarget . '" href="' . JRoute::_ ( ContentHelperRoute::getCategoryRoute($elm->catid, $elm->language ) ) . '">' . $elm->category . '</a>';
if($mergeMenuTreeLevels == 'toplevel') {
$topLevelCategoryId = $elm->level > 1 ? @$topLevelCategoryId : $elm->catid;
} else {
$topLevelCategoryId = $elm->catid;
}
if ($elm->catid != $catsave && ! $first) {
echo '</ul></li></ul>';
echo '<ul data-hash="com_content.category.' . $topLevelCategoryId . '" class="jmap_filetree" style="' . $this->marginSide . (15 * ($elm->level - 1)) . 'px"><li class="' . $noExpandableNode . '"><span class="folder">' . $category . '</span>';
echo '<ul>';
$catsave = $elm->catid;
} else {
if ($first) {
echo '<ul data-hash="com_content.category.' . $topLevelCategoryId . '" class="jmap_filetree" style="' . $this->marginSide . (15 * ($elm->level - 1)) . 'px"><li class="' . $noExpandableNode . '"><span class="folder">' . $category . '</span>';
echo '<ul>';
$first = false;
$catsave = $elm->catid;
}
}
$elm->slug = $elm->alias ? ($elm->id . ':' . $elm->alias) : $elm->id;
$seolink = $this->liveSite . JRoute::_ ( ContentHelperRoute::getArticleRoute ( $elm->slug, $elm->catslug, $elm->language ) );
echo '<li>';
if($elm->id) {
echo '<a target="' . $openTarget . '" href="' . $seolink . '" >' . $elm->title . '</a>';
}
if(!empty($elm->expandible) && $showPageBreaks) {
echo '<ul>';
foreach ($elm->expandible as $index=>$subPageBreak) {
$seolink = $this->liveSite . JRoute::_ ( ContentHelperRoute::getArticleRoute ( $elm->slug, $elm->catslug, $elm->language ) . '&limitstart=' . ($index + 1));
echo '<li>' . '<a target="' . $openTarget . '" href="' . $seolink . '" >' . $subPageBreak . '</a></li>';
}
echo '</ul>';
}
echo '</li>';
}
echo '</ul></li></ul>';
// If a containing folder is required
if($containingFolderTitle) {
echo '</li></ul>';
}
}