Перейти к содержанию
Официальный форум поддержки Simpla

Товар добавил: менеджер1


Перейти к решению Решено artbe,

Рекомендуемые сообщения

Доброго времени суток. 
Помогите пожалуйста с одним вопросом:
Как прикрепить менеджера к товару, чтобы было видно кто из менеджеров какой товар добавил.
Пример:
post-18653-0-14618800-1417609714_thumb.png

Ссылка на сообщение
Поделиться на другие сайты

Надо дорабатывать базу, процесс добавления товара, отображение результатов.

А еще стоит подумать о том, что другой менеджер может изменить товар...

Ссылка на сообщение
Поделиться на другие сайты

Надо дорабатывать базу, процесс добавления товара, отображение результатов.

А еще стоит подумать о том, что другой менеджер может изменить товар...

Много дописывать?)

Ссылка на сообщение
Поделиться на другие сайты

 

Много дописывать?)

Если по минимуму, то достаточно внести изминения в 3 файла и добавить новое поле в таблицу s_products.

Ссылка на сообщение
Поделиться на другие сайты

Да. Но нужно учесть, что если по минимуму, то будет показан только последний менеджер, редактировавший товар. Если до него другие менеджеры проводили какие-то действия с тем же товаром, то они пере запишутся.

Ссылка на сообщение
Поделиться на другие сайты

Да. Но нужно учесть, что если по минимуму, то будет показан только последний менеджер, редактировавший товар. Если до него другие менеджеры проводили какие-то действия с тем же товаром, то они пере запишутся.

Ну а что мешает добавить какой то гет параметр скажем act=add, act=edit и уже исходя из этого выполнять какое то условие?
Ссылка на сообщение
Поделиться на другие сайты

Мне кажется, что тогда проще отдельной таблицей, что-то типа, product_id - manager_id - datetime_edit. 
Тогда можно будет просмотреть подробную информацию, кто и когда что-то правил.
А если еще и действия записывать.... :)

Ссылка на сообщение
Поделиться на другие сайты

Мне кажется, что тогда проще отдельной таблицей, что-то типа, product_id - manager_id - datetime_edit. 

Тогда можно будет просмотреть подробную информацию, кто и когда что-то правил.

А если еще и действия записывать.... :)

Тогда переделать чуть ли не каждый модуль в админке придется.

+ лишние запросы к БД

Ссылка на сообщение
Поделиться на другие сайты

Тогда переделать чуть ли не каждый модуль в админке придется.

+ лишние запросы к БД

Ну почему же? При добавлении или редактировании товара, т.е. при нажатии Сохранить, три (если не ошибаюсь) запроса на то, чтобы добавить id-шники и дату-время в таблицу. Потом три, чтобы вывести результат. Модуль только товара переделать. А зачем еще?

Ссылка на сообщение
Поделиться на другие сайты

Хотя, человеку нужно всего отследить кто создал, а не кто редактировал, тогда предложенный Вами вариант вполне подойдет.

Ссылка на сообщение
Поделиться на другие сайты

Ну почему же? При добавлении или редактировании товара, т.е. при нажатии Сохранить, три (если не ошибаюсь) запроса на то, чтобы добавить id-шники и дату-время в таблицу. Потом три, чтобы вывести результат. Модуль только товара переделать. А зачем еще?

Затем что:

Тогда можно будет просмотреть подробную информацию, кто и когда что-то правил.

А если еще и действия записывать.... :)

Или речь идет только о товарах?
Ссылка на сообщение
Поделиться на другие сайты
  • Решение

Считаю, что для опытного програмера такая задача не составит труда, можно было и выложить решение. Грамотное решение возможно и стоит $, но если делать изменение в 3 файла - то даже не знаю .. :) Вообще выкладываю свое решение в 3 файла, не идеальное, но работает

 

ALTER TABLE `s_products` ADD `last_edit` varchar(255) NOT NULL AFTER `external_id` 

 

api/Products.php добавить в выборку поля: $query = "SELECT  и $query = "SELECT DISTINCT

p.last_edit, 

simpla/ProductAdmin.php добавить

$product->last_edit = $this->request->post('last_edit'); 

simpla/design/html/product.tpl

<li><label class=property>Редактировал</label>
<input type="hidden" name="last_edit" class="simpla_inp" type="text" value="{$manager->login}" />
{if $product->last_edit}{$product->last_edit}{else}Редактирований нет{/if}
</li> 

+ можно вывести в products.tpl

 

Все

 

 

Ссылка на сообщение
Поделиться на другие сайты

Считаю, что для опытного програмера такая задача не составит труда, можно было и выложить решение.

 

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

 

...если делать изменение в 3 файла - то даже не знаю .. :) Вообще выкладываю свое решение в 3 файла, не идеальное, но работает

 

А если делать изменение в 3 файла - то я знаю ТОЧНО: Ваше решение как-то работает, но для серьезного магазина оно никак не годится:

 

1. Ваш метод работает совсем не так, как поставлена задача в первом посте. Поставлена задача - "кто товар добавил", а Вы решаете другую "кто изменил последним".

2. Саму свою измененную задачу Вы решаете далеко не полностью. Вы фиксируете изменившего только в том случае, когда он сохраняет изменения на странице товара в админке. А есть еще как минимум два момента, которые Ваше решение не будет учитывать. И при Вашей доработке ушлый менеджер элементарно сумеет, например,  изменить цены так, что Ваша доработка это не заметит.

3. Чтобы полностью обработать все ситуации, надо изменять не 3 файла, как Вы самоуверенно заявляете, а существенно больше...

 

Ссылка на сообщение
Поделиться на другие сайты

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

 

 

А если делать изменение в 3 файла - то я знаю ТОЧНО: Ваше решение как-то работает, но для серьезного магазина оно никак не годится:

 

1. Ваш метод работает совсем не так, как поставлена задача в первом посте. Поставлена задача - "кто товар добавил", а Вы решаете другую "кто изменил последним".

2. Саму свою измененную задачу Вы решаете далеко не полностью. Вы фиксируете изменившего только в том случае, когда он сохраняет изменения на странице товара в админке. А есть еще как минимум два момента, которые Ваше решение не будет учитывать. И при Вашей доработке ушлый менеджер элементарно сумеет, например,  изменить цены так, что Ваша доработка это не заметит.

3. Чтобы полностью обработать все ситуации, надо изменять не 3 файла, как Вы самоуверенно заявляете, а существенно больше...

 

 

Вот с чего вы взяли, что я - "самоуверенно заявляю"  это лишь была цитата из слов Noxter'a, который предложил сделать задачу по "минимуму" . (тыц).  Не утрируйте и не домысливайте. 

 

Еще раз повторюсь, за нормальный допил данной доработки - брать $ считаю можно, но за 3 строчки - ну тут конечно каждый сам решает, но это epic fail. 

 

В любом случае видно, кто последний изменил (сохранил) инфу о товаре.

 

Что касается:

 

2. Саму свою измененную задачу Вы решаете далеко не полностью. Вы фиксируете изменившего только в том случае, когда он сохраняет изменения на странице товара в админке. А есть еще как минимум два момента, которые Ваше решение не будет учитывать. И при Вашей доработке ушлый менеджер элементарно сумеет, например,  изменить цены так, что Ваша доработка это не заметит.

Если вы имеете ввиду, что в каталоге товаров можно изменить цены (не заходя в карточку товара), то да. Но и тут можно поставить условие.

 

Также если человек сделает импорт товаров с новыми ценами - то тоже не будет учитываться. Но в таком случае (учитывая недочеты), и если вывести отдельный фильтр или страницу - "кто что и когда менял", то это уже будет модуль - который как раз  и стоит $.

Ссылка на сообщение
Поделиться на другие сайты

Считаю, что для опытного програмера такая задача не составит труда, можно было и выложить решение. Грамотное решение возможно и стоит $, но если делать изменение в 3 файла - то даже не знаю .. :) Вообще выкладываю свое решение в 3 файла, не идеальное, но работает

 

ALTER TABLE `s_products` ADD `last_edit` varchar(255) NOT NULL AFTER `external_id` 

 

api/Products.php добавить в выборку поля: $query = "SELECT  и $query = "SELECT DISTINCT

p.last_edit, 

simpla/ProductAdmin.php добавить

$product->last_edit = $this->request->post('last_edit'); 

simpla/design/html/product.tpl

<li><label class=property>Редактировал</label>
<input type="hidden" name="last_edit" class="simpla_inp" type="text" value="{$manager->login}" />
{if $product->last_edit}{$product->last_edit}{else}Редактирований нет{/if}
</li> 

+ можно вывести в products.tpl

 

Все

 

Спасибо огромное! Отличное решение!) 

 

 

 

 

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

 

 

А если делать изменение в 3 файла - то я знаю ТОЧНО: Ваше решение как-то работает, но для серьезного магазина оно никак не годится:

 

1. Ваш метод работает совсем не так, как поставлена задача в первом посте. Поставлена задача - "кто товар добавил", а Вы решаете другую "кто изменил последним".

2. Саму свою измененную задачу Вы решаете далеко не полностью. Вы фиксируете изменившего только в том случае, когда он сохраняет изменения на странице товара в админке. А есть еще как минимум два момента, которые Ваше решение не будет учитывать. И при Вашей доработке ушлый менеджер элементарно сумеет, например,  изменить цены так, что Ваша доработка это не заметит.

3. Чтобы полностью обработать все ситуации, надо изменять не 3 файла, как Вы самоуверенно заявляете, а существенно больше...

 

Этот скрипт не для серьезного магазина, согласен, но мне подходит.

Проект очень простой - учет сертификатов сети магазинов. Что-то вроде онлайн склада сертификатов. :)  

Ссылка на сообщение
Поделиться на другие сайты

Тут вся задача (даже, как выразились, сложная) - решается в пол часа. Вы тут посты пишите дольше... 

 

 

artbe, 

сделайте лучше добавление параметра кто правил/добавлял в api/Products.php. В функциях:

 

public function update_product($id, $product) {
.....
public function add_product($product) {

 

Добавить что то типа такого:

if($manager = $this->managers->get_manager())
            $product->last_edit = $manager->login;
Ссылка на сообщение
Поделиться на другие сайты

Тут вся задача (даже, как выразились, сложная) - решается в пол часа. Вы тут посты пишите дольше...

Спасибо!

Ваше решение на порядок лучше того, что предлагали Noxter и artbe.

Но оно, к сожалению, далеко не полное и в некоторых случаях не зафиксирует менеджера, сделавшего важные изменения...

Ссылка на сообщение
Поделиться на другие сайты

Спасибо!

Ваше решение на порядок лучше того, что предлагали Noxter и artbe.

Но оно, к сожалению, далеко не полное и в некоторых случаях не зафиксирует менеджера, сделавшего важные изменения...

Неужели? Соизвольте процитировать решение от Noxter-а коль Вы его где то видели.
Ссылка на сообщение
Поделиться на другие сайты

Придираемся к пустякам?

Имелось в виду: имхо, РЕШЕНИЕ, которое дал yr4ik, лучше, чем ПРЕДЛОЖЕНИЯ, которые дал Noxter. В частности, лучше, чем следующее:

Ну а что мешает добавить какой то гет параметр скажем act=add, act=edit и уже исходя из этого выполнять какое то условие?

Ссылка на сообщение
Поделиться на другие сайты

Придираемся к пустякам?

Имелось в виду: имхо, РЕШЕНИЕ, которое дал yr4ik, лучше, чем ПРЕДЛОЖЕНИЯ, которые дал Noxter. В частности, лучше, чем следующее:

Бесит Корс да? Ты же любишь все уточнять вынося мозг людям, так что будь добр по такой же точности и ответы писать.
Ссылка на сообщение
Поделиться на другие сайты

Не знаю, может, кого-то и бесит.

Надеюсь, мой последний ответ понятен и дальнейших разъяснений не требуется.

Если что-то еще неясно, спрашивайте - готов уточнить

Ссылка на сообщение
Поделиться на другие сайты

Присоединяйтесь к обсуждению

Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.

Гость
Ответить в этой теме...

×   Вставлено с форматированием.   Вставить как обычный текст

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

Загрузка...
×
×
  • Создать...