Вызвать один класс из другого

Тема в разделе "Общие вопросы", создана пользователем sergm87, 18 окт 2026 в 17:02.

  1. sergm87

    sergm87 Новичок

    Сообщения:
    3
    Симпатии:
    0
    есть класс shortcodes . в контроллере вызываю его через например $this->shortcodes->replace($category_info['meta_title']) - делает замену в тексте. чтобы не прописывать его везде хотел вызывать в document.php например тут
    public function setTitle($title) {
    $this->title = $title;
    }
    примерно так
    public function setTitle($title) {
    $this->title = $this->shortcodes->replace($title);
    }
    но не получается подключить класс shortcodes внутри класса Document
     
  2. devimirochnik

    devimirochnik Продвинутый пользователь

    Сообщения:
    915
    Симпатии:
    128
    Это так не делается. И конкретное решение зависит от того как определяется и подключается класс shortcodes
     
  3. sergm87

    sergm87 Новичок

    Сообщения:
    3
    Симпатии:
    0
    shortcodes.php лежит в system/library
    в catalog/controller/startup/startup.php стоит
    if ($this->config->get('config_default_shotcodes')) {
    $this->registry->set('shortcodes', new shortcodes($this->registry));
    }
    if ($this->shortcodes) {
    // replace shortcodes inside config values
    $this->config->shortcodes($this->shortcodes);
    }
     
  4. devimirochnik

    devimirochnik Продвинутый пользователь

    Сообщения:
    915
    Симпатии:
    128
    Тут такой момент, что в конструктор класса шоркодов передаётся регистр, а в классе документа нет доступа к нему. Поэтому проще вам пройтись по контроллерам каталога и там где setTitle просто добавить первичный код