uLogin - виджет авторизации через социальные сети « все идеи проекта

0

голосов

Как заставить работать панель Ulogin в header opencart?

Установил на сайте профарт.рф все работает только там где вывожу через админ панель, а в хедере кнопка войти и там не работает. Помогите пожалуйста!

Михаил Саяпин, 22.04.2015, 22:31
Статус идеи: выполнено

Комментарии

Михаил Саяпин, 23.04.2015, 12:17
Решил проблему таким способом.
Добавил на все страницы в админ панели (макеты) вывод модуля, а потом удалил в тпл вывод блока с модулем.
Иван Пшеницын, 23.04.2015, 12:19
Как раз разбирались с вашей проблемой.
Не понял ваше решение. Виджет же под кнопкой "войти" все еще не работает?
Иван Пшеницын, 23.04.2015, 12:37
Во всплывающем окошке "войти" не работает потому что вы, судя по всему, добавили туда код из Личного Кабинета. Этот код не предназначен для использования с модулем в CMS. Если используется модуль - виджет должен быть выведен с его помощью.В случае с OpenCart это делается в редакторе макетов.
Михаил Саяпин, 23.04.2015, 12:49
Я на денвере делаю. В хедере две кнопки. "Войти" открывает окошко с формой и внизу панель ulogin. Панель полностью работает только на странице с авторизацией, где по умолчанию уже стоит в макете вывод панели.
Я сначала использовал скрипт в хедере. Теперь же поменял его в тпл на <div class="panel panel-default ulogin_panel">
<div class="panel-heading"><?php echo $ulogin_form; ?></div>
в контролере хедера добавил:
$data['ulogin_form'] = $this->load->controller('module/ulogin');
В админке на каждом макете вывел модуль юлогина.
В результате в хедере, во всплывающем окошке заробатало корректно.
сейчас буду убирать в тпл-ах вывод информации с модулем. Чтоб только через хедер входили везде. А на странице регистрации оставлю.
I Ch, 21.05.2015, 19:34
Здравствуйте. Столкнулся с похожей задачей.
Можете ответить как вывести набор кнопок авторизации в произвольное место opencart?
В то же выпадающее окно как указано выше.
Спасибо.
Михаил Саяпин, 21.05.2015, 20:02
Надо вывести в админке в макеты отображение на всех страницах. Как вы слайды добавляете или баннеры через админку. также и модуль вывести куданить. я вот вывел внизу страницы. а потом чтобы он не отображался где не надо, я поубирал в tpl-ах строчки с выводом нижней фигни <?php echo $content_bottom; ?></div>.
I Ch, 21.05.2015, 22:11
В tpl файлах каких? Например я сделал вывод на странице Home в каком tpl файле мне убирать отображение?
Михаил Саяпин, 21.05.2015, 22:17
если тема дефолтная, то в /catalog/view/theme/default/template/common/home.tpl и не забудьте попровить файл хоум.пхп в папке контроллера. как я написал выше
Михаил Саяпин, 21.05.2015, 22:18
не хоум а хедер. Вы же в хедер закинули форму?
I Ch, 21.05.2015, 22:34
У вас есть скайп или почта?
Михаил Саяпин, 21.05.2015, 22:43
Комментарий удален администратором
Михаил Саяпин, 21.05.2015, 22:43
скайп и почта
I Ch, 21.05.2015, 22:43
Если в файл header.php добавить строку:
$data['ulogin_form'] = $this->load->controller('module/ulogin');
тогда начинает выдавать ошибку - Fatal error: Call to undefined method Loader::controller() in

В файле home.tpl всего несколько строк:
<?php echo $header; ?><?php echo $column_left; ?><?php echo $column_right; ?>
<div id="content"><?php echo $content_top; ?>
<h1 style="display: none;"><?php echo $heading_title; ?></h1>
<?php echo $content_bottom; ?></div>
<?php echo $footer; ?>

Если удалить <?php echo $content_bottom; ?></div> то перестанут выводиться и другие модули которые расположены "внизу"
Игорь, 27.08.2015, 19:47
Правки в README.md
Для ручного вывода панели авторизации в любом месте шаблона темы OpenCart необходимо следать следующее:

- Добавить контроллёр модуля в php файл шаблона, например, для вывода панели в хэдере, необходимо добавить этот код в файл `catalog/controller/common/header.php`:

$data['ulogin_messager_marker'] = $this->load->controller('module/ulogin/messager');

- Добавить вывод панели в шаблоне `catalog/view/theme/default/template/common/header.tpl`, например после строки `<div class="collapse navbar-collapse navbar-ex1-collapse">`:

<?php echo $ulogin_form_marker;?>

Ошибка Fatal error: Call to undefined method Loader::controller() in может возникать, когда модуль не установлен
Игорь Gambit, 28.08.2015, 15:33
Упс, правки внесены:
подключение контроллёра:
$data['ulogin_form_marker'] = $this->load->controller('module/ulogin');
вывод в шаблон <?php echo $ulogin_form_marker;?>

подключение в контроллёре должно происходить до момента передачи аккумулированных данных в шаблон, т.е. до строк $this->response->setOutput($this->load->view ... )

Оставить комментарий