Перейти до вмісту
Пошук в
  • Детальніше...
Шукати результати, які ...
Шукати результати в ...

Категории в footer


Recommended Posts

Спойлер

Здравствуйте. 

У меня вот такая вот неприятность. 

 

Установлен модуль newsblog и вот беда, у него нет настройки в админке "выводить Внизу" (как например в статьях). И вот я пытаюсь прикрутить этот самый чекбокс в админке. 

 

И тут я поплыл с моделями. 

В контроллере идет проверка


$category_info = $this->model_newsblog_category->getCategory($this->request->get['category_id']);

/*<//...//>*/
if (isset($this->request->post['show_in_bottom'])) {
    $data['show_in_bottom'] = $this->request->post['show_in_bottom'];
} elseif (!empty($category_info)) {
    $data['show_in_bottom'] = $category_info['show_in_bottom'];
} else {
    $data['show_in_bottom'] = 0;
}

Все понял, полез в модель... 

 

 


public function getCategory($category_id) {
      $query = $this->db->query("SELECT DISTINCT *,
      (SELECT GROUP_CONCAT(cd1.name ORDER BY level SEPARATOR '&nbsp;&nbsp;&gt;&nbsp;&nbsp;') FROM " . DB_PREFIX . "newsblog_category_path cp LEFT JOIN " . DB_PREFIX . "newsblog_category_description cd1 ON (cp.path_id = cd1.category_id AND cp.category_id != cp.path_id) WHERE cp.category_id = c.category_id AND cd1.language_id = '" . (int)$this->config->get('config_language_id') . "' GROUP BY cp.category_id) AS path,
      (SELECT DISTINCT keyword FROM " . DB_PREFIX . "url_alias WHERE query = 'newsblog_category_id=" . (int)$category_id . "') AS keyword

      FROM " . DB_PREFIX . "newsblog_category c
      LEFT JOIN " . DB_PREFIX . "newsblog_category_description cd2 ON (c.category_id = cd2.category_id)

      WHERE c.category_id = '" . (int)$category_id . "' AND
      cd2.language_id = '" . (int)$this->config->get('config_language_id') . "'");

      return $query->row;
  }

Понял, что берется из базы. Не понял как в базу пока все это запихнуть - там очень интересные формат, с первого раза не поймешь. 

Полез дальше...искать функцию где создается категория.

Нашел функцию:


public function addCategory($data,$settings) 

вызов у нас лежит в контроллере 


$this->model_newsblog_category->addCategory($this->request->post, $settings);

А $settings формируется тут же выше 


$settings_array['show_in_top']=(isset($this->request->post['show_in_top']) ? (int)$this->request->post['show_in_top'] : 0);
//по аналогии скопипастил свое
$settings_array['show_in_bottom']=(isset($this->request->post['show_in_bottom']) ? (int)$this->request->post['show_in_bottom'] : 0);

 

 

Так... а теперь собственно ради чего мы тут все собрались - вывести в футере. 

Лезу в контроллер Футера.

Здравствуйте, под спойлером мой недописанный прошлый раз пост, я его просто тут сохранить решил, чтобы был на будущее (часто потом вспоминаю а что я собственно сделал)... 

 

У меня вопрос.

Как именно модуль newsblog запихивает свои категории в категории каталога сайт? 

Хочу сделать тоже самое в футере. 

По умолчанию нет в $data категорий, зато есть $informations (статьи). 

Хочу выводить категории newsblog в футере. Писать разработчику плагина не вариант, я для себя самого хочу понять как это делается. 

 

Но мне все равно нужна ваша помощь, потому что до меня все таки не доходит. 

Я сделал галочку для категорий "Показывать внизу", она добавляет в базу "show_in_bottom". 

Когда я через модель обращаюсь в getCategory я могу получить этот параметр. 

 

Как мне теперь добавить его в $categories в footer. Как тоже самое делает штатно newsblog при добавлении своих ссылок в $categories когда подгружается только модель model('catalog/category')?! 

 

Заранее спасибо. 

Надіслати
Поділитися на інших сайтах

system/storage/modification/catalog/controller/common/header.php

Нашел вот такой вот раздел и вот такой вот файлик, не совсем понимаю на сколько это правильно, и не нужно ли где-то в другом месте прописывать такие особенности, но пока все работает как мне нужно... наверное. 

Надіслати
Поділитися на інших сайтах

В 03.06.2019 в 16:07, odorlega сказал:

Нашел вот такой вот раздел и вот такой вот файлик, не совсем понимаю на сколько это правильно,

это модифицированный файл.

после обновления модификаторов, все изменения  внесенные напрямую в этом файл, слетят

Надіслати
Поділитися на інших сайтах

В 06.06.2019 в 16:53, fanatic сказал:

это модифицированный файл.

после обновления модификаторов, все изменения  внесенные напрямую в этом файл, слетят

На данный момент я уже это выяснил) 

А как генерировать модифицированный сайт? 

Я понял, что можно просто взять и переписать шаблон и собственно всю движку как мне будет нужно. 

Но вот чисто для справки, хотелось бы понять "как это делается". 

Надіслати
Поділитися на інших сайтах

9 минут назад, odorlega сказал:

А как генерировать модифицированный сайт? 

посредством  ocmod.xml

  • +1 1
Надіслати
Поділитися на інших сайтах

12 минут назад, odorlega сказал:

Но вот чисто для справки, хотелось бы понять "как это делается". 

два способа.  предпочтительней, второй

1. вносите изменения напрямую в нужные файлы

2. вносите изменения в файлы при помощи   ocmod.xml

  • +1 1
Надіслати
Поділитися на інших сайтах

  • 3 weeks later...
В 13.06.2019 в 17:33, fanatic сказал:

два способа.  предпочтительней, второй

1. вносите изменения напрямую в нужные файлы

2. вносите изменения в файлы при помощи   ocmod.xml

 

Можете помочь неофиту найти более менее годную на ваш опытный взгляд статью о том, как собственно это реализуется через ocmod.xml?

Ну так... если вдруг... 

Надіслати
Поділитися на інших сайтах

Створіть аккаунт або увійдіть для коментування

Ви повинні бути користувачем, щоб залишити коментар

Створити обліковий запис

Зареєструйтеся для отримання облікового запису. Це просто!

Зареєструвати аккаунт

Вхід

Уже зареєстровані? Увійдіть тут.

Вхід зараз
×
×
  • Створити...

Important Information

На нашому сайті використовуються файли cookie і відбувається обробка деяких персональних даних користувачів, щоб поліпшити користувальницький інтерфейс. Щоб дізнатися для чого і які персональні дані ми обробляємо перейдіть за посиланням . Якщо Ви натиснете «Я даю згоду», це означає, що Ви розумієте і приймаєте всі умови, зазначені в цьому Повідомленні про конфіденційність.