Помощь Управление доступом

animal_x

Постоялец
Регистрация
22 Июн 2012
Сообщения
412
Реакции
147
Нужно сделать группу пользователей которая может только добавлять товары, но не может их удалять и редактировать. Есть идеи как это можно сделать?
 
не пробовал создать в админке группу пользователей..например менеджеры.. в правах группы выставляешь только просмотр товаров и радактирование товаров.. больше нигде галочки не ставишь... создаешь в админке новых пользователей.. присваиваешь им группу менеджеры..
 
Там нет такого разрешения на редактирование товаров, разрешение дается на catalog/product, т.е если я даю такое разрешение то это и создание и редактирование и удаление
Для просмотра ссылки Войди или Зарегистрируйся
 
Там нет такого разрешения на редактирование товаров, разрешение дается на catalog/product, т.е если я даю такое разрешение то это и создание и редактирование и удаление
Для просмотра ссылки Войди или Зарегистрируйся

именно catalog/product и отмечаете галочкой, а также на файлманеджер..иначе не смогут картинки выбирать к товару и загружать, может еще где-то надо галочки..это уже тестируйте и проверяйте
 
Так я о чем пишу, я выставил права catalog/product и пользователь может создавать редактировать и удалять, а нужно только создавать
 
Так я о чем пишу, я выставил права catalog/product и пользователь может создавать редактировать и удалять, а нужно только создавать

иначе никак.. так как добавляя товар пользователь изменяет структуру product... аналогично при редактировании

UPD посмотрите это Для просмотра ссылки Войди или Зарегистрируйся возможно подойдет
 
Последнее редактирование:
Попробуй вывести форму добавления товара через вкладку модули. тебе нужно будет сделать модуль для редактирования и добавления товара (точную копию) только вывести через другой tpl файл. Удалить кнопку "Удаления товара". И потом давать доступ для редактирования в админке только отдельному модулю который исключат кнопку удалить.
 
Последнее редактирование:
Не совсем понятно. Где взять этот модуль добавления и редактирования?
 
Не совсем понятно. Где взять этот модуль добавления и редактирования?
Создай файл productn.php
admin/controller/catalog
Скопируй в него всё из файла
admin /controller/catalog/product.php

И поменяй примерно так: как в этом файле (этот файл controllera - от версии ocstore 1.5.4). В зависимости от своей версии opencart
Для просмотра ссылки Войди или Зарегистрируйся

Основные изменения в этом файле: Отмечено красным, что добавил.
Это
Первое:
<?php
class ControllerCatalogProductn extends Controller {

Второе:
public function index() {
$this->load->language('catalog/productn');

3)$this->template = 'catalog/product_list.tpl';
заменить на
$this->template = 'catalog/productn_list.tpl';
и
$this->template = 'catalog/product_form.tpl';
заменить на
$this->template = 'catalog/productn_form.tpl';
Остальное - нужно тестировать в процессе внесения товара - catalog/product которые есть в этом файле не все нужно менять на catalog/productn.
Так что с этим файлом нужно поработать.

Далее - admin / controller / common / header.php
добавить после $this->data['text_product'] = $this->language->get('text_product');
это
$this->data['text_productn'] = $this->language->get('text_productn');
И добавить строку:
после $this->data['product'] = $this->url->link('catalog/product', 'token=' . $this->session->data['token'], 'SSL');
Это:
$this->data['productn'] = $this->url->link('catalog/productn', 'token=' . $this->session->data['token'], 'SSL');

Далее в папке admin/ language / russian / catalog/ создаём файл productn.php
и копируем в него всё из файла admin/ language / russian / catalog/ product.php
и в новом файле productn.php меняем строчку
$_['heading_title'] = 'Товары';
на
$_['heading_title'] = 'Товары2';
Далее:
/ language / russian / common/header.php
добавляем строчку после
$_['text_product'] = 'Товары';
это
$_['text_productn'] = 'Товары2';

Тоже самое делаем и в папке english.

Далее. Создаём файл в папке admin / model / catalog/ productn.php
и копируем в него всё из файла admin / model / catalog/ product.php

Далее. Создаём файл в папке admin /view / template / catalog/ создать файл productn_form.tpl
и копируем в него всё из файла admin /view / template / catalog/product_form.tpl

Далее. Создаём файл в папке admin /view / template / catalog/ создать файл productn_list.tpl
и копируем в него всё из файла admin /view / template / catalog/product_list.tpl

Из этих двух файлов productn_list.tpl и productn_form.tpl нужно удалить строчку в самом начале файла
<a onclick="$('form').submit();" class="button"><?php echo $button_delete; ?></a> - Это кнопка удаления товара
Если нужно убрать "Изменить" кнопку то в файле
productn_list.tpl нужно искать что отвечает за вывод этой кнопки там какой то класс <td class="right">


Далее. в файле view / template / common/ header.tpl
после этой строки
<li><a href="<?php echo $product; ?>"><?php echo $text_product; ?></a></li>
Добавить:
<li><a href="<?php echo $productn; ?>"><?php echo $text_productn; ?></a></li>

После этого у тебя в админке появиться Каталог - Товар2 - без кнопки удаления и в настройках групп пользователей появится catalog/productn

Единственное что я ещё не понял, как правильно отредактировать файл admin /controller/catalog/productn.php - что бы сохранял товар. А то ошибку выдаёт. Но товар создаёт.

Соответсвенно для пользователей которых ты хочешь ограничить. Нужно отключить catalog/product а включить catalog/productn
 
Последнее редактирование:
Спасибо за идею. Еще вот что думаю можно обернуть в условие ( <?php if (...) { ;?> ) кнопки редактирования, удаления и то что не нужно в условие проверки группы пользователя. Вот только не знаю как это сделать пока.
 
Назад
Сверху