Статьи блога в шапке Opencart/OcStore 3.x

Тема в разделе "Общие вопросы", создана пользователем Иван Николаев, 29 июл 2022.

  1. Иван Николаев

    Иван Николаев Пользователь

    Сообщения:
    108
    Симпатии:
    7
    Всем привет. Хочу сделать реализацию на подобии вывода информационной статьи в шапке

    В админке реализовал

    1. В БД в таблице article создал столбец top
    Код:
    ALTER TABLE `prefix_article` ADD `top` INT(1) NOT NULL DEFAULT '0' AFTER `status`;
    2. В файле admin/controller/blog/article.php перед if (isset($this->request->post['noindex'])) { добавил
    Код:
            if (isset($this->request->post['top'])) {
                $data['top'] = $this->request->post['top'];
            } elseif (!empty($category_info)) {
                $data['top'] = $category_info['top'];
            } else {
                $data['top'] = 0;
            }
    3. В файле admin/language/ru-ru/blog/article.php добавил
    Код:
    $_['entry_top']              = 'Главное меню';
    $_['help_top']               = 'Показывать в главном меню';
    4. В файле admin/model/blog/article.php после (int)$data['status'] . "', добавил
    Код:
    `top` = '" . (isset($data['top']) ? (int)$data['top'] : 0) . "',
    5. В файле admin/view/template/blog/article_form.twig перед <label class="col-sm-2 control-label" for="input-sort-order">{{ entry_sort_order }}</label> добавил
    Код:
                    <label class="col-sm-2 control-label" for="input-top"><span data-toggle="tooltip" title="{{ help_top }}">{{ entry_top }}</span></label>
                    <div class="col-sm-10">
                      <div class="checkbox">
                        <label>
                          {% if top %}
                          <input type="checkbox" name="top" value="1" checked="checked" id="input-top" />
                          {% else %}
                          <input type="checkbox" name="top" value="1" id="input-top" />
                          {% endif %}
                          &nbsp; </label>
                      </div>
                    </div>
                  </div>
                  <div class="form-group">
    Всё отлично работает. Проверил, в БД храниться.

    Вот теперь хочу статью вывести в меню по аналогии с категориями и не могу разобраться именно с контроллером. Хотел вывести по аналогии с инф статьей.

    Контроллер пытаюсь реализовать таким образом
    Код:
            $articles = $this->model_blog_article->getArticle(0);
           
            foreach ($articles as $article) {
                if ($article['top']) {
                    $data['articles'][] = array(
                        'name'         => $result['name'],
                        'href'         => $this->url->link('blog/article', 'article_id=' . $result['article_id'])
                    );
                }
            }
    Но не получается(

    Помогите решить проблему, пожалуйста.

    Спасибо!