Цена + свой текст для незарегистрированных покупателей

Тема в разделе "Общие вопросы", создана пользователем s7r0ng, 15 сен 2017.

  1. s7r0ng

    s7r0ng Новичок

    Сообщения:
    12
    Симпатии:
    1
    Здравствуйте!

    Подскажите, пожалуйста, как для незарегистрированных покупателей помимо цены вывести также свой текст?
    Например: 1000руб."(оптовая цена). Для заказа товара зарегистрируйтесь или авторизуйтесь".

    В настройках установил Оформление без регистрации - Нет.
    Насколько я понимаю, нужно в product.tpl (возможно также в product.php) сделать проверку на авторизацию и добавить текст. Если покупатель не залогинен, тогда выводится цена + текст, если залогинен, то только цена.

    Кто знает, помогите, пожалуйста.
    Версия ocStore 2.3
     
  2. karpov

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

    Сообщения:
    1.519
    Симпатии:
    241
  3. mars1an

    mars1an Специалист

    Сообщения:
    629
    Симпатии:
    516
    В настройках магазина Показывать цены только авторизованным - Да.
    В контроллере найти
    PHP:
    $data['price'] = false;
    заменить на
    PHP:
    $data['price'] = sprintf($this->language->get('text_no_logged'), $this->currency->format($this->tax->calculate($product_info['price'], $product_info['tax_class_id'], $this->config->get('config_tax')), $this->session->data['currency']), $this->url->link('account/login'''true), $this->url->link('account/register'''true));
    В языковой файл добавить
    PHP:
    $_['text_no_logged']  = '%s <a href="%s"> авторизуйтесь</a> или <a href="%s"> зарегистрируйтесь</a>';
     
    s7r0ng нравится это.
  4. s7r0ng

    s7r0ng Новичок

    Сообщения:
    12
    Симпатии:
    1
    Способ рабочий, спасибо!
    Но что странно, выводится только цена без текста. Интересно, что в исходнике страницы сам текст есть, но почему-то не отображается..
    Пробую на стандартном шаблоне.
     
  5. s7r0ng

    s7r0ng Новичок

    Сообщения:
    12
    Симпатии:
    1
    Уже несколько раз все перепроверил. Все равно непонятно, почему в исходнике страницы и цена и текст, а отображается только цена..
    В чем может быть причина?
     
  6. s7r0ng

    s7r0ng Новичок

    Сообщения:
    12
    Симпатии:
    1
    Не знаю с чем связано, но при помещении текста в отдельный текстовый блок span все заработало:

    Код:
    $_['text_no_logged']  = '%s </span> <span><a href="%s"> авторизуйтесь</a> или <a href="%s"> зарегистрируйтесь</a>';
     
  7. s7r0ng

    s7r0ng Новичок

    Сообщения:
    12
    Симпатии:
    1
    Сделал отображение нужного текста во всех местах, кроме Главной страницы, где она правится так и не нашел.
    Подскажите, пожалуйста, что нужно поменять, чтобы на главной также появился данный текст?

    Спасибо!
     
  8. Ален

    Ален Эксперт

    Сообщения:
    2.056
    Симпатии:
    640
    Если нужен контроллер, то это common/home.php
    Если на главной у вас модули, то видимо в контроллерах нужных модулей.
     
    s7r0ng нравится это.
  9. s7r0ng

    s7r0ng Новичок

    Сообщения:
    12
    Симпатии:
    1
    Все сделал.
    Контроллер common/home.php не подходит, т.к. он просто выводит блоки на главную.
    Да, так и сделал. Для изменения отображения цен нужно править контроллеры каждого модуля, который используется на главной странице (например, модуль Рекомендуемые и тп.).
    В общем, вопрос решен.

    Еще раз большое спасибо всем за помощь! ;):)