1: | <?php
2: | namespace Opencart\Catalog\Model\Cms;
3: | /**
4: | * Class Topic
5: | *
6: | * @package Opencart\Catalog\Model\Cms
7: | */
8: | class Topic extends \Opencart\System\Engine\Model {
9: | /**
10: | * Get Topic
11: | *
12: | * @param int $topic_id
13: | *
14: | * @return array<int, array<string, mixed>>
15: | */
16: | public function getTopic(int $topic_id): array {
17: | $sql = "SELECT DISTINCT * FROM `" . DB_PREFIX . "topic` `t` LEFT JOIN `" . DB_PREFIX . "topic_description` `td` ON (`t`.`topic_id` = `td`.`topic_id`) LEFT JOIN `" . DB_PREFIX . "topic_to_store` `t2s` ON (`t`.`topic_id` = `t2s`.`topic_id`) WHERE `t`.`topic_id` = '" . (int)$topic_id . "' AND `td`.`language_id` = '" . (int)$this->config->get('config_language_id') . "' AND `t2s`.`store_id` = '" . (int)$this->config->get('config_store_id') . "' AND `t`.`status` = '1'";
18: |
19: | $topic_data = $this->cache->get('topic.' . md5($sql));
20: |
21: | if (!$topic_data) {
22: | $query = $this->db->query($sql);
23: |
24: | $topic_data = $query->row;
25: |
26: | $this->cache->set('topic.' . md5($sql), $topic_data);
27: | }
28: |
29: | return $topic_data;
30: | }
31: |
32: | /**
33: | * Get Topics
34: | *
35: | * @return array<int, array<string, mixed>>
36: | */
37: | public function getTopics(): array {
38: | $sql = "SELECT * FROM `" . DB_PREFIX . "topic` `t` LEFT JOIN `" . DB_PREFIX . "topic_description` `td` ON (`t`.`topic_id` = `td`.`topic_id`) LEFT JOIN `" . DB_PREFIX . "topic_to_store` `t2s` ON (`t`.`topic_id` = `t2s`.`topic_id`) WHERE `td`.`language_id` = '" . (int)$this->config->get('config_language_id') . "' AND `t2s`.`store_id` = '" . (int)$this->config->get('config_store_id') . "' AND `t`.`status` = '1' ORDER BY `t`.`sort_order` DESC";
39: |
40: | $key = md5($sql);
41: |
42: | $topic_data = $this->cache->get('topic.' . $key);
43: |
44: | if (!$topic_data) {
45: | $query = $this->db->query($sql);
46: |
47: | $topic_data = $query->rows;
48: |
49: | $this->cache->set('topic.' . $key, $topic_data);
50: | }
51: |
52: | return $topic_data;
53: | }
54: | }
55: |

OpenCart API API documentation generated by ApiGen dev-master