Перейти к содержимому


Фотография
- - - - -

Разные цены в прайсе для разных групп пользователей


Лучший Ответ registr , 16 January 2016 - 20:00

что-то не то делаю... и так и эдак - сделал двух пользователей, один логин/пароль 1111111 а второй  2222222

Не пойму что не так в коде делаю но выводится у первого пользователя обе цены - евро и гривна в столбце Стоимость евро в у второго пользователя - в Стоимость грн.

Вот скрин тизера: http://view.xscreens...045f6814ee92409

 

а вот сам код:

<tr class="table-row item_<?php echo $item->id; ?>">
    <td><?php echo $this->renderPosition('cell1'); ?></td>
    <td><?php
        if ($html = $this->renderPosition('cell2')) {
            echo $html;
        } else {
            echo ' - ';
        }
        ?></td>
    <td>
        <?php
        $user = JFactory::getUser();
        if (in_array('10', $user->groups)) {
            echo $this->renderPosition('cell3');
            echo $this->renderPosition('cell4');
        }
    ?>
    </td>
    <td>
        <?php
        $user = JFactory::getUser();
        if (in_array('11', $user->groups)) {
            echo $this->renderPosition('cell5');
            echo $this->renderPosition('cell6');
        }
    ?>
    </td>
</tr>
Перейти к сообщению


  • Закрытая тема Тема закрыта
Сообщений в теме: 21

#1 registr

registr

Отправлено 16 January 2016 - 15:12

Задача такая: заходя на страницу Прайс http://smartdent.com.ua/priceпользователи должны ввести определенный логин и пароль (не у каждого свой а общий для группы но это детали, тут понятно :) ) и для одной группы отображается одна цена а для другой - другая. Посмотрел вот эту тему http://jbzoo.ru/docs...item-templates  но не совсем понял как правильно сделать мне. Я так понимаю что нужно создать 2 элемента цены и прописать условие для каждой свое в шаблоне. Но пока не могу справиться как правильно сделать, может кто подскажет?


  • 0

#2 laRus

laRus

Отправлено 16 January 2016 - 15:56

вот эту тему http://jbzoo.ru/docs...item-templates но
правильная ссылка ТУТ (как часто бывает, лишний пробел "затесался") 
  • 0
..minimum effort for maximum effect? - Oh yeah! It's good!..

#3 registr

registr

Отправлено 16 January 2016 - 16:39

ну страницу то я открыл с примерами, но у меня загвоздочка вот в чем: шаблон - таблица, там как я понимаю - нельзя скрыть позиции с незаполненными полями. Т.е. я второй вариант цены допустим выведу в отдельной позиции - тогда эта позиция будет отображаться в таблице

Вот я сейчас добавил вторую цену (там 2 элемента - для вывода в евро и в гривнах) http://view.xscreens...f964e4a6b01d7c3
т.е. добавил элемент второй цены в ту же позицию где выводится первый вариант цены. Вот как сделать чтоб одним пользователям показывался один элемент а другим - второй. В примерах есть только при условии размещения элемента в отдельной позиции


  • 0

#4 registr

registr

Отправлено 16 January 2016 - 16:55

т.е. в принципе вопрос в следующем: можно ли скрыть не позицию в шаблоне а конкретный элемент для определенных пользователей или групп пользователей


  • 0

#5 Ёшкин Кот

Ёшкин Кот

Отправлено 16 January 2016 - 17:07

Ну вообще то табличке можно сделат ьв опредленной яцейке две позиции, в первой вывести элемент для одной группы, а во второй для другой. И получитя что будет один элемент для одной, а второй для другой группы пользователя.


  • 0

#6 registr

registr

Отправлено 16 January 2016 - 17:47

да, и то правда, как-то у меня ума не хватило :)

Но осталась еще проблемка:

 

в примере вот это:

Показывать только для группы Author:

<?php
$user = JFactory::getUser();
if (in_array('3', $user->groups) {
<КОД>
}
?>

 

вот мой код шаблона

 

<tr class="table-row item_<?php echo $item->id; ?>">
    <td><?php echo $this->renderPosition('cell1'); ?></td>
    <td><?php
        if ($html = $this->renderPosition('cell2')) {
            echo $html;
        } else {
            echo ' - ';
        }
        ?></td>
    <td><?php echo $this->renderPosition('cell3'); ?></td>
    <td><?php echo $this->renderPosition('cell4'); ?></td>
    <td><?php echo $this->renderPosition('cell5'); ?></td>
    <td><?php echo $this->renderPosition('cell6'); ?></td>
    <td><?php echo $this->renderPosition('cell7'); ?></td>
    <td><?php echo $this->renderPosition('cell8'); ?></td>
</tr>

 

как я ни вставлял - выдает ошибку...


  • 0

#7 DMTR3000S

DMTR3000S

Отправлено 16 January 2016 - 18:13

Какую ошибку выдаёт-то?


  • 0

#8 registr

registr

Отправлено 16 January 2016 - 18:33

Parse error: syntax error, unexpected '{' in D:\OpenServer\domains\localhost\smartdent.com.ua\media\zoo\applications\jbuniversal\templates\catalog\renderer\item\dbrecord\teaser.php on line 31

Но я не уверен что правильно вставляю, слаб в кодинге совсем

 


  • 0

#9 Ёшкин Кот

Ёшкин Кот

Отправлено 16 January 2016 - 18:39

Надо не кусками, а целиком бы код видеть. Вот в первом куске у вас пропущена скобка например... на что и ругается...  весь код в студию.


Сообщение отредактировал Ёшкин Кот: 16 January 2016 - 18:40

  • 0

#10 registr

registr

Отправлено 16 January 2016 - 18:44

о, я с скобкой разобрался, добавил, после groups, но поле не скрывается:

 

<tr class="table-row item_<?php echo $item->id; ?>">
    <td><?php echo $this->renderPosition('cell1'); ?></td>
    <td><?php
        if ($html = $this->renderPosition('cell2')) {
            echo $html;
        } else {
            echo ' - ';
        }
        ?></td>

<?php
    $user = JFactory::getUser();
    if (in_array('10', $user->groups)) {
    }
?>
    <td><?php echo $this->renderPosition('cell3'); ?>
    <?php echo $this->renderPosition('cell5'); ?></td>
    <td><?php echo $this->renderPosition('cell4'); ?>
    <?php echo $this->renderPosition('cell6'); ?></td>
  </tr>

  • 0




Click to return to top of page in style!