1: <?php
2:
3: 4: 5: 6: 7: 8: 9:
10:
11: defined('_JOOS_CORE') or exit();
12:
13: 14: 15: 16: 17: 18: 19: 20: 21: 22: 23: 24: 25:
26: class pluginSitemapContent
27: {
28: public static function get_params()
29: {
30: $params = array('xml_show_articles' => false);
31:
32: return $params;
33: }
34:
35: public static function get_mapdata_scheme($params = array())
36: {
37: return array(
38: array('id' => 'index',
39: 'link' => '',
40: 'title' => 'Бренды',
41: 'level' => 1,
42: 'type' => 'single',
43: 'priority' => 0.5,
44: 'changefreq' => 'daily'),
45: array('id' => 'categories',
46: 'link' => '',
47: 'title' => '',
48: 'level' => 2,
49: 'type' => 'list',
50: 'call_from' => 'contentMap::lists',
51: 'call_params' => $params,
52: 'priority' => 0.5,
53: 'changefreq' => 'daily'),);
54: }
55:
56: public static function lists($params = array())
57: {
58: $cats = new modelCategories;
59: $cats = $cats->get_list(array('where' => '`group` = "content" AND state = 1',
60: 'key' => 'id',
61: 'order' => 'lft ASC'));
62:
63: $cats_ids = array_keys($cats);
64:
65: if ($params['xml']) {
66: $items = new modelContent;
67: $items = $items->get_list(array('where' => 'state = 1 AND category_id IN (' . implode(', ', $cats_ids) . ')'));
68:
69: $items_by_cats = array();
70: foreach ($items as $item) {
71: $item->loc = joosRoute::href('content_view', array('slug' => $item->slug));
72: $item->lastmod = $item->created_at;
73:
74: $items_by_cats[$item->category_id][] = $item;
75: }
76: }
77:
78: $results = array();
79:
80: foreach ($cats as $cat) {
81: $cat->loc = joosRoute::href('category_view', array('id' => $cat->id,
82: 'slug' => $cat->slug));
83: $cat->lastmod = date('Y-m-d');
84: $cat->title = $cat->name;
85: $cat->level = $cat->level + 1;
86: $results[] = $cat;
87:
88: if ($params['xml']) {
89: if (isset($items_by_cats[$cat->id])) {
90: foreach ($items_by_cats[$cat->id] as $item) {
91: $item->level = $cat->level + 1;
92: $results[] = $item;
93: }
94: }
95: }
96: }
97:
98: return $results;
99: }
100:
101: }
102: