Загрузка контроллера

Тема в разделе "Общие вопросы", создана пользователем megaCart, 2 янв 2018.

  1. john7

    john7 Пользователь

    Сообщения:
    38
    Симпатии:
    0
    Да по такой же логике делаю. Уже не один раз цепочку проверил всю.
    Перенес всё в файл cart.php - не вижу ошибку в коде.
    PHP:
    $data['blabla'] = '87654321test';
    в файле header.php
    PHP:
    $cartnew $this->load->controller('common/cart');
    $data['blabla'] = $cartnew['blabla'];
    и далее вывожу в шаблоне
    header.twig
    Код:
    {{ blabla }}
     
  2. fanatic

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

    Сообщения:
    1.415
    Симпатии:
    240
    в $cartnew будет результат работы контроллера cart
    Код:
    return $this->load->view('common/cart', $data);
     
  3. fanatic

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

    Сообщения:
    1.415
    Симпатии:
    240
    не так
    вы записываете в переменную результат работы контроллера cart. а контроллер, возвращает html корзины
     
  4. john7

    john7 Пользователь

    Сообщения:
    38
    Симпатии:
    0
    Хорошо, как из контроллера можно вытащить одну переменную?
    В шаблон header
     
  5. fanatic

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

    Сообщения:
    1.415
    Симпатии:
    240
    что именно вы хотите вытащить?
     
  6. john7

    john7 Пользователь

    Сообщения:
    38
    Симпатии:
    0
    Количество в корзине.
    У меня есть в cart.php строчки
    Код:
    $data['count'] = $this->cart->countProducts();
    это в лучшем случае,
    или это
    Код:
     $data['blabla'] = '87654321test'; 
     
  7. fanatic

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

    Сообщения:
    1.415
    Симпатии:
    240
    ну так и пропишете в heder.php
    Код:
    $data['count'] = $this->cart->countProducts();
    и в шаблоне header.twig
    Код:
    {{ count }}
     
    john7 нравится это.
  8. john7

    john7 Пользователь

    Сообщения:
    38
    Симпатии:
    0
    Блин, так просто оказалось) Спасибо)
     
  9. john7

    john7 Пользователь

    Сообщения:
    38
    Симпатии:
    0
    т.е. чтобы вернуть работу корзины надо так сделать?
    В контроллере корзины:
    PHP:
    .....return $data;
    и уже в файле header.php
    PHP:
    $cartnew $this->load->controller('common/cart');
    $data['blabla'] = $cartnew['blabla']; 
     
  10. fanatic

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

    Сообщения:
    1.415
    Симпатии:
    240
    не понял, это как?
     
  11. fanatic

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

    Сообщения:
    1.415
    Симпатии:
    240
    что еще вы хотите получить в header.php?
     
  12. john7

    john7 Пользователь

    Сообщения:
    38
    Симпатии:
    0
    хочу разобраться, получить не html корзины, а её работу, чтобы можно было оперировать её переменными в header.php
     
  13. fanatic

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

    Сообщения:
    1.415
    Симпатии:
    240
    есть библиотека для работы с корзиной
    system/library/cart
    работать с этой библиотекой, можно в любом контроллере
     
  14. john7

    john7 Пользователь

    Сообщения:
    38
    Симпатии:
    0
    Это всё полезно спасибо, ну хорошо пусть будет не корзина, а модуль, например HTML-блок.
    Как загрузить его в header.php?
     
  15. fanatic

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

    Сообщения:
    1.415
    Симпатии:
    240
    извините я вас не понимаю.
    можете более подробно объяснить для чего вам все это нужно
    как я понимаю, с html модулем нужно нечто подобное?
     
  16. john7

    john7 Пользователь

    Сообщения:
    38
    Симпатии:
    0
    для начала я хотел разобраться если мне надо вытягивать переменные то как, чтобы не копировать один и тот же код в разных контроллерах.

    А теперь дошёл до задачи, есть html модуль он в массив записывает блоки. Автоматом можно выводить их на главной.
    Чтобы выводились с разной разметкой используем условие. А вот как сделать им общую обертку?
    Можно перейти в соседнюю ветку посмотреть
    и снова уперся, что надо обращаться к контроллеру. Вот такая вот задача
     
  17. Ravilr

    Ravilr Специалист

    Сообщения:
    4.190
    Симпатии:
    1.439
    Не приписывайте соседнюю тему :) Про загрузку контроллера все тут уже достаточно написано. А вам нужно просто почитать документацию на форуме и понять как работает опенкарт, как размещаются модули и в каких случаях требуется лезть в код и трогать контроллеры.