/
breadcrumbs.xml
97 lines (92 loc) · 3.42 KB
/
breadcrumbs.xml
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
<?xml version="1.0" encoding="utf-8"?>
<dleplugin>
<name>speedbar</name>
<description></description>
<icon></icon>
<version></version>
<dleversion></dleversion>
<versioncompare>less</versioncompare>
<mysqlinstall><![CDATA[]]></mysqlinstall>
<mysqlupgrade><![CDATA[]]></mysqlupgrade>
<mysqlenable><![CDATA[]]></mysqlenable>
<mysqldisable><![CDATA[]]></mysqldisable>
<mysqldelete><![CDATA[]]></mysqldelete>
<file name="engine/engine.php">
<operation action="before">
<searchcode><![CDATA[?>]]></searchcode>
<replacecode><![CDATA[if ($config['speedbar'] AND !$view_template) {
$speedbar_rdfa = 0; //Формат разметки: 1 - RDFa, 0 - обычная микроразметка
$speedbar_prop = array(
'li' => array(
'itemprop="itemListElement" itemscope itemtype="http://schema.org/ListItem"',
'property="itemListElement" typeof="ListItem"',
),
'a' => array(
//'itemscope itemtype="http://schema.org/Thing" itemprop="item"',
'itemprop="item"',
'property="item" typeof="WebPage"',
),
'ul' => array(
'itemscope itemtype="http://schema.org/BreadcrumbList"',
'vocab="http://schema.org/" typeof="BreadcrumbList"',
),
'span' => array(
'itemprop="name"',
'property="name"',
),
'position' => array(
'itemprop="position"',
'property="position"',
),
);
function getBreadcrumbListCategories($id, $sec = false)
{
global $speedbar,$cat_info,$config,$dle_module;
if (!$id) {
return false;
}
if ($cat_info[$id]['parentid']) {
getBreadcrumbListCategories( $cat_info[$id]['parentid'], true );
}
$speedbar[] = [$config['http_home_url'] . get_url( $id ) . '/', $cat_info[$id]['name'], $cat_info[$id]['metatitle']];
}
$config['speedbar_separator'] = $config['speedbar_separator'] ? trim($config['speedbar_separator']) : "»";
$speedbar = [[$config['http_home_url'], $config['short_title'], $config['home_title']]];
if ($temp = intval($category_id)) {
getBreadcrumbListCategories($temp);
} elseif ($do == 'tags') {
$speedbar[] = array("/tags/", $lang['tag_cloud'] );
$speedbar[] = array("/tags/" . urlencode($tag), $tag);
} elseif ($nam_e) {
$speedbar[] = $nam_e;
}
if ($mod_speedbar) {
$speedbar = array_merge($speedbar, $mod_speedbar);
}
if ($titl_e) {
$speedbar[] = $titl_e;
} elseif (isset($_GET['cstart']) && intval($_GET['cstart']) > 1) {
$speedbar[] = $lang['news_site']." ".intval($_GET['cstart']);
}
$last_item = array_pop($speedbar);
$speedbar[] = is_array($last_item) ? $last_item[1] : $last_item;
foreach ($speedbar as $k => $v) {
if (is_array($v)) {
$speedbar[$k] = "<li {$speedbar_prop['li'][$speedbar_rdfa]}>";
$title_s = "<span {$speedbar_prop['span'][$speedbar_rdfa]}>".(is_array($v) ? $v[1] : $v)."</span>";
$speedbar[$k] .= "<a {$speedbar_prop['a'][$speedbar_rdfa]} href=\"{$v[0]}\" title=\"".($v[2] ?: $v[1])."\">{$title_s}</a>";
$speedbar[$k] .= "<meta {$speedbar_prop['position'][$speedbar_rdfa]} content=\"" . ($k+1) . "\" /></li>"; //$k + 1
} else {
$speedbar[$k] = "<li>$v</li>";
}
}
$tpl->result['speedbar'] = '';
$tpl->load_template('speedbar.tpl');
$tpl->set("{speedbar}", "<ul {$speedbar_prop['ul'][$speedbar_rdfa]} class=\"speedbar\">" . join("<li class=\"speedbar_sep\">{$config['speedbar_separator']}</li>", $speedbar) . "</ul>" );
$tpl->compile('speedbar');
$tpl->clear();
$tpl->result['speedbar'] = '<div id="dle-speedbar">' . $tpl->result['speedbar'] . '</div>';
}]]></replacecode>
</operation>
</file>
</dleplugin>