Перейти к публикации
Поиск в
  • Дополнительно...
Искать результаты, содержащие...
Искать результаты в...

Скрыть блог если не зарегистрирован


themodul
 Поделиться

Рекомендованные сообщения

Люди добрые, подскажите, пожалуйста - нужно скрыть блог (Blog Manager) для незарегистрированных покупателей. Просто обернуть ссылку <?php if ($this->customer->isLogged()) { ?> не подходит т.к. нужен, после регистрации или входа, редирект на страницу блога.

Прописал в контроллере блога:

if (!$this->customer->isLogged()) {

            $this->session->data['redirect'] = $this->url->link('blog', '', 'SSL');   
            $this->redirect($this->url->link('account/login', '', 'SSL'));
    }
,но ссылка приобретает вид site.ru/index.php?route=blog, а нужно site.ru/blog 
Ссылка на комментарий
Поделиться на других сайтах

Народ, 28 просмотров и неужели никто не знает как index.php?route= убрать? 

Ссылка на комментарий
Поделиться на других сайтах

Народ, 28 просмотров и неужели никто не знает как index.php?route= убрать? 

BM не жалуют :)

 

Он по сути костыльно работает с ЧПУ формирователями, поэтому им не пользуются здесь, есть в "100 раз" лучше альтернативы, без костылей

А доступ по правам есть в других модулях этого класса ;)

 

3580357839.png

Ссылка на комментарий
Поделиться на других сайтах

Да я его завел с трудом - все ссылки нормальные сделал. Блог доступен по site.ru/blog

НО когда редирект делаю после регистрации, то ссылка становится site.ru/index.php?route=blog и, соответственно, страница не найдена :( 

Подскажите, как в этой строчке $this->session->data['redirect'] = $this->url->link('blog', '', 'SSL'); задать ссылку site.ru/blog

Может ка кто можно абсолютную ссылку задать?

Ссылка на комментарий
Поделиться на других сайтах

 

Люди добрые, подскажите, пожалуйста - нужно скрыть блог (Blog Manager) для незарегистрированных покупателей. Просто обернуть ссылку <?php if ($this->customer->isLogged()) { ?> не подходит т.к. нужен, после регистрации или входа, редирект на страницу блога.

Прописал в контроллере блога:

if (!$this->customer->isLogged()) {

            $this->session->data['redirect'] = $this->url->link('blog', '', 'SSL');   
            $this->redirect($this->url->link('account/login', '', 'SSL'));
    }
,но ссылка приобретает вид site.ru/index.php?route=blog, а нужно site.ru/blog 

 

 

Вбей URL жестко

$this->session->data['redirect'] = 'site.ru/blog';   
Ссылка на комментарий
Поделиться на других сайтах


 

Вбей URL жестко

$this->session->data['redirect'] = 'site.ru/blog';   

 

Жесткий костыль, но потянет как едино разовое решение, главное потом не забыть если url измените  :)

Ссылка на комментарий
Поделиться на других сайтах

Попробовал, но костыль не подошел :) Редирект происходит в my-account

Ссылка на комментарий
Поделиться на других сайтах

Само собой! Вы же костыль в сессию запихиваете. А собственно redirect - в account/login

 

Если же незарегистрированный зарегистрируется, условие будет false, т.е. строки с redirect НЕ будут выполнены 

Ссылка на комментарий
Поделиться на других сайтах


  $this->redirect('site.ru/blog');

 

Я пытаюсь сделать как в сравнении товаров - нажал на сравнение - перешел на страницу регистрации/входа, после входа происходит перенаправление на страницу сравнения.

 

Может я этот кусок не туда засунул - в контроллер категории блога:

 

class ControllerModuleBlogcategory extends Controller {
   protected function index($setting) {
   if (!$this->customer->isLogged()) {
            $this->session->data['redirect'] = 'site.ru/blog';   
  $this->redirect($this->url->link('account/login', '', 'SSL'));
    }
Ссылка на комментарий
Поделиться на других сайтах

Само собой! Вы же костыль в сессию запихиваете. А собственно redirect - в account/login

 

Если же незарегистрированный зарегистрируется, условие будет false, т.е. строки с redirect НЕ будут выполнены 

 

Подскажите, а как это можно тогда реализовать грамотно? 

Ссылка на комментарий
Поделиться на других сайтах

Подскажите, а как это можно тогда реализовать грамотно? 

Грамотно? Не костылями? Забить на BM.

Ссылка на комментарий
Поделиться на других сайтах

Да как то жалко, столько времени на него потратил - урлы настроил, дизайн натянул... Посмотрю, если никто еще не подскажет - придется снести. 

Всем спасибо за подсказки, хоть и не помогли...

Ссылка на комментарий
Поделиться на других сайтах

Могу только костыль предложить:

account/account.php - добавляем что выделено болдом

 

class ControllerAccountAccount extends Controller {
    public function index() {
        if (!$this->customer->isLogged()) {
              $this->session->data['redirect'] = $this->url->link('account/account', '', 'SSL');
      
              $this->redirect($this->url->link('account/login', '', 'SSL'));
        } else {

 

                 if (isset( $this->session->data['redirect']) &&  $this->session->data['redirect']=='site.ru/blog') {

                       $this->redirect($this->session->data['redirect']);

                }

}

...

...

 

Ссылка на комментарий
Поделиться на других сайтах

К сожалению, и этот вариант, почему то, не подходит :(

При таком варианте, если пользователь разлогенный, то попадает на блог, а не на регистрацию

Ссылка на комментарий
Поделиться на других сайтах

Всем спасибо!


Проблему, вроде, решил - оказывается blog/category был замаскирован как blog


Не знаю насколько это правильно, но прописал в контроллере блога


if (!$this->customer->isLogged()) {


            $this->session->data['redirect'] = $this->url->link('blog/category', '', 'SSL');   

            $this->redirect($this->url->link('account/login', '', 'SSL'));

    }

При уже зарегистрированным пользователе все работает! А вот начал создавать нового (чтобы проверить предположение "igon"), и (беда не приходит одна) обнаружил, что симпла не реагирует на кнопку! Это значит пора идти спать :-D   

Ссылка на комментарий
Поделиться на других сайтах

Simple разобрался, спасибо автору. Но проблема с блогом осталась. Думаю прейти на Блог там есть функция которая мне нужна. 

Ссылка на комментарий
Поделиться на других сайтах

Simple разобрался, спасибо автору. Но проблема с блогом осталась. Думаю прейти на Блог там есть функция которая мне нужна. 

Совет не на Блог а на https://opencartforum.com/files/file/1435-seo-cms-pro-блог-новости-отзывы-галерея-формы/

 

Там еще больше функций работы с группами пользователей

Ссылка на комментарий
Поделиться на других сайтах

Создайте аккаунт или войдите в него для комментирования

Вы должны быть пользователем, чтобы оставить комментарий

Создать аккаунт

Зарегистрируйтесь для получения аккаунта. Это просто!

Зарегистрировать аккаунт

Войти

Уже зарегистрированы? Войдите здесь.

Войти сейчас
 Поделиться

  • Сейчас на странице   0 пользователей

    • Нет пользователей, просматривающих эту страницу.
×
×
  • Создать...

Важная информация

На нашем сайте используются файлы cookie и происходит обработка некоторых персональных данных пользователей, чтобы улучшить пользовательский интерфейс. Чтобы узнать для чего и какие персональные данные мы обрабатываем перейдите по ссылке. Если Вы нажмете «Я даю согласие», это означает, что Вы понимаете и принимаете все условия, указанные в этом Уведомлении о Конфиденциальности.