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

Тема в разделе "Opencart", создана пользователем animal_x, 2 май 2014.

Информация :
Внимание форумчане! При создании тем, или выкладывании какой-либо информации проверьте в какой ветке форума вы находитесь! Не путайте Opencart и Opencart2. При несоблюдении данного условия выносится соответствующее наказание! И потом не говорите что вас НЕ ПРЕДУПРЕЖДАЛИ! По возможности используйте обменники mail, yandex, google, dropbox, rghost Дабы избежать просьб перезалить и проблем с рекламой!
Модераторы: ZiX
  1. animal_x

    animal_x

    Регистр.:
    22 июн 2012
    Сообщения:
    400
    Симпатии:
    127
    Нужно сделать группу пользователей которая может только добавлять товары, но не может их удалять и редактировать. Есть идеи как это можно сделать?
     
  2. Lery

    Lery

    Регистр.:
    17 май 2013
    Сообщения:
    273
    Симпатии:
    85
    не пробовал создать в админке группу пользователей..например менеджеры.. в правах группы выставляешь только просмотр товаров и радактирование товаров.. больше нигде галочки не ставишь... создаешь в админке новых пользователей.. присваиваешь им группу менеджеры..
     
  3. animal_x

    animal_x

    Регистр.:
    22 июн 2012
    Сообщения:
    400
    Симпатии:
    127
    Там нет такого разрешения на редактирование товаров, разрешение дается на catalog/product, т.е если я даю такое разрешение то это и создание и редактирование и удаление
    http://awesomescreenshot.com/06f2queb01
     
  4. Lery

    Lery

    Регистр.:
    17 май 2013
    Сообщения:
    273
    Симпатии:
    85
    именно catalog/product и отмечаете галочкой, а также на файлманеджер..иначе не смогут картинки выбирать к товару и загружать, может еще где-то надо галочки..это уже тестируйте и проверяйте
     
  5. animal_x

    animal_x

    Регистр.:
    22 июн 2012
    Сообщения:
    400
    Симпатии:
    127
    Так я о чем пишу, я выставил права catalog/product и пользователь может создавать редактировать и удалять, а нужно только создавать
     
  6. Lery

    Lery

    Регистр.:
    17 май 2013
    Сообщения:
    273
    Симпатии:
    85
    иначе никак.. так как добавляя товар пользователь изменяет структуру product... аналогично при редактировании

    UPD посмотрите это https://opencartforum.com/topic/18296-opencart-переделаный-в-торговую-площадку/ возможно подойдет
     
    Последнее редактирование: 3 май 2014
  7. ivanvolgu

    ivanvolgu Постоялец

    Регистр.:
    22 июл 2013
    Сообщения:
    116
    Симпатии:
    79
    Попробуй вывести форму добавления товара через вкладку модули. тебе нужно будет сделать модуль для редактирования и добавления товара (точную копию) только вывести через другой tpl файл. Удалить кнопку "Удаления товара". И потом давать доступ для редактирования в админке только отдельному модулю который исключат кнопку удалить.
     
    Последнее редактирование: 4 май 2014
  8. animal_x

    animal_x

    Регистр.:
    22 июн 2012
    Сообщения:
    400
    Симпатии:
    127
    Не совсем понятно. Где взять этот модуль добавления и редактирования?
     
  9. ivanvolgu

    ivanvolgu Постоялец

    Регистр.:
    22 июл 2013
    Сообщения:
    116
    Симпатии:
    79
    Создай файл productn.php
    admin/controller/catalog
    Скопируй в него всё из файла
    admin /controller/catalog/product.php

    И поменяй примерно так: как в этом файле (этот файл controllera - от версии ocstore 1.5.4). В зависимости от своей версии opencart
    https://cloud.mail.ru/public/98a2ccbed44e/1.txt

    Основные изменения в этом файле: Отмечено красным, что добавил.
    Это
    Первое:
    <?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
     
    Последнее редактирование: 6 май 2014
  10. animal_x

    animal_x

    Регистр.:
    22 июн 2012
    Сообщения:
    400
    Симпатии:
    127
    Спасибо за идею. Еще вот что думаю можно обернуть в условие ( <?php if (...) { ;?> ) кнопки редактирования, удаления и то что не нужно в условие проверки группы пользователя. Вот только не знаю как это сделать пока.