Помощь Помогите вывести свободный текст на сайте

grebovich

Гуру форума
Регистрация
19 Мар 2012
Сообщения
363
Реакции
81
Все привет,кто подскажет как можно вывести в блоке "ЛИЧНЫЙ КАБИНЕТ" Свободную ссылку,текст зависящий от группы покупателя, к примеру у меня две группы оптовая и розничная, вот и нужно вывести к примеру ссылку на прайс для розничного покупателя свою для оптового свою!??
 
без плагинов или с их помощью?
можно к примеру с помощью изменения catalog\controller\account\account.php, catalog\view\theme\bershka\template\account\account.tpl и языковых файлов.
можно заморочиться и сделать через базу путем правки базы и \catalog\model\account\customer_group.php
 
без плагинов или с их помощью?
можно к примеру с помощью изменения catalog\controller\account\account.php, catalog\view\theme\bershka\template\account\account.tpl и языковых файлов.
можно заморочиться и сделать через базу путем правки базы и \catalog\model\account\customer_group.php
Да все равно ,можно и плагином если есть такой,мне просто нужно в данном блоке вывести данный текст но не понимаю как сделать чтоб для каждой группы он задавался разный!
 
ну давай по порядку.
к примеру ты уже забил в языки для catalog\language\russian\account\account.php новые параметры
$_['text_freetext1'] = '11111';
$_['text_freetext2'] = '22222';
и т.д.

Далее в контролеере catalog\controller\account\account.php делаешь проверку на
$this->customer->getCustomerGroupId()
и в зависимости от этого переменной $freetext присваиваешь $this->language->get('text_freetext1') или $this->language->get('text_freetext2').
далее передаем это в account.tpl и <?php echo $freetext ?> получаем нужный текст
 
Спасибо буду пробовать,но если честно так и не понял как оно будет определять группу, в $this->customer->getCustomerGroupId() разве не нужно задавать ID Группы?
 
можно конечно внаглую

if ($this->customer->isLogged()){
switch($this->customer->getCustomerGroupName()){case "Покупатели":echo "ТЕКСТ ПОКУПАТЕЛЕЙ";
break;case "Оптовики":echo "ТЕКСТ ОПТОВИКАМ";
break;
default:echo " ТЕКСТ ОСТАЛЬНЫМ";
}
}else{ echo "ТЕКСТ НЕЗАРЕГИСТРИРОВАННЫМ"; }

но это только если у вас 1 язык и менять группы вы не планируете
 
Спасибо буду пробовать,но если честно так и не понял как оно будет определять группу, в $this->customer->getCustomerGroupId() разве не нужно задавать ID Группы?
По id лучше определять группу- это правильней , т.к. в случае ее перименования ничего не полетит. Во втором варианте проверка идет по имени
 
По id лучше определять группу- это правильней , т.к. в случае ее перименования ничего не полетит. Во втором варианте проверка идет по имени
ок.поковыряю,и отпишусь!
 
По id лучше определять группу- это правильней , т.к. в случае ее перименования ничего не полетит. Во втором варианте проверка идет по имени
Вы можете подробно расписать все по пунктам из 4 поста (первый вариант)
А то уже пол дня вожусь и ни в какую!,,,
Буду очень благодарен!
 
хорошо по порядку, заходим в \catalog\language\russian\account\account.php
добавляем к тому что там нужный текст

$_['text_customertext1'] = '111';
$_['text_customertext2'] = '222';
$_['text_customertext3'] = '333';
$_['text_customertextother'] = 'other';
$_['text_customertextunreg'] = 'unregister';


Далее открываем \catalog\controller\account\account.php
после $this->data['newsletter'] = $this->url->link('account/newsletter', '', 'SSL'); добавляем следующий код

if ($this->customer->isLogged()){
switch($this->customer->getCustomerGroupId()){
case 1:
$this->data['text_custom'] = $this->language->get('text_customertext1');
break;
case 2:
$this->data['text_custom'] = $this->language->get('text_customertext2');
break;
case 3:
$this->data['text_custom'] = $this->language->get('text_customertext3');
break;
default:
$this->data['text_custom'] = $this->language->get('text_customertextother');
}
}else{
$this->data['text_custom'] = $this->language->get('text_customertextunreg');
}


И в завершение пишем в шаблоне \catalog\view\theme\ТЕМА\template\account\account.tpl куда это выводить. Например после <h1><?php echo $heading_title; ?></h1> вставляем:
<h2><?php echo $text_custom; ?></h2>


Все. Циферки case 1 case 2 case 3 берем свои в зависимости от необходимых груп (таблица customer_group из базы, открывается Phpmyadminом или аналогами)
 
Последнее редактирование:
Назад
Сверху