Версия для печати
Оригинальная версия ( http://prestadev.ru/forum/tema-2278.html )

PrestaShop CMS :: Русская поддержка интернет-магазина PrestaShop > Модули, плагины > Хочу такой модуль


Разместил: alkostar Время: 18-12-2010 04:03
здравствуйте!

я бы хотел заказать модуль, вкратце описание такое...
приведу пример того, как я вижу его работу:
1. в поле "закупочная цена" я ввожу стоимость товара в евро.
2. в поле "цена" я ввожу рекомендованную производителем цену в евро.
3. модуль пересчитывает значение поля "закупочная цена" в соответствии с действующим курсом евро (надо добавить возможность в ручную задавать условия, например, курс+2%), и прибавляет к нему в ручную заданную наценку, например, 10% - эту цену модуль выводит в поле "конечная цена"
4. также модуль пересчитывает поле "цена" и вычитает из нее значение поля "закупочная цена", результат отображает в поле "сумма скидки" в рублевом и процентном значениях. в дальнейшем эти значения отображаются на сайте, чтоб покупатель мог сразу лицезреть свою выгоду.
5. тоже самое надо сделать и для долларов.

заранее спасибо, жду Ваших корректировок и уточнений.

Разместил: nebesa Время: 25-12-2010 08:13
посовещавшись с alkostar, мы написали ТЗ для этого модуля.

само ТЗ смотрите в аттаче, очень надеемся на Вашу помощь

заранее спасибо

Разместил: nebesa Время: 27-12-2010 04:41
Люди , кто готов написать модуль ?


Уважаемый Alkostar . В этой теме http://prestadev.ru/forum/tema-2273-0.html , вроде бы был готов написать для нас модуль Artyom4D , но он видимо забыл , или занят и нету времени прийти на форум , отписал ему в личку , так что ждём!.....

Разместил: IceCOOL Время: 27-12-2010 12:10
тоже интересно..


Сообщение отредактировано IceCOOL 27-12-2010 12:11 ...

Разместил: Artyom4D Время: 27-12-2010 17:34
Я не занят и не забыл. Я просил написать мне, так как уведомления с форума мне на почту не приходят. Напишите пошагово глазами админа, как должен выглядеть модуль и что должен делать. Все в точности. Слать можно сюда team@deadline-solutions.com

Разместил: nebesa Время: 27-12-2010 18:38
Уже выслал письмо !
Но не понял проблему ты не смог скачать аттач с форума =)

Разместил: Artyom4D Время: 29-12-2010 03:16
Я получил ТЗ. Постараюсь ответить завтра. Не успел еще полностью проникнутся вопросом.

Разместил: nebesa Время: 29-12-2010 05:47
Спасибо !
Очень ждём !
Постарались описать всё по максимуму , но на любые вопросы ответим!

Разместил: nebesa Время: 11-01-2011 01:00
Извиняюсь ... Какой либо ответ будет ?

Разместил: Artyom4D Время: 11-01-2011 02:27
С ответом затянул, так как только с праздников вернулся. Завтра в первой половине дня отпишусь что к чему.

Разместил: Artyom4D Время: 12-01-2011 19:04
Итак. Примерное описание того что можно сделать.

При добавлении товара появляются дополнительные поля, которые должен заполнить администратор - Валюта закупки ... Значения этих полей сохраняется в базе данных отдельно для каждого товара. Цена товара, которую увидит пользователь рассчитывается в момент создания товара, либо при изменении курса валют."
Курсы валют: "курсы валют мы будем получать с сайта ...., если заказчик предпочитает другой сайт, мы можем его проинтегрировать вместо предложенного, возможность самостоятельно менять сайт-источник курса после того, как модуль установлен не предусмотрена".
"Обновление курсов - курсы валют обновляются раз в день в 1:00 ночи, если сайт с курсами не доступен, то курс остаётся тем же, что и в прошлый день. После обновления курсов обновляются цены для всех товаров в базе.

Хочу только обратить внимание что данный модуль затронет все аспекты связанные с валютой. Поэтому могут быть трудности с импортом или экспортом. Все это всплывет в процессе работы.


Стоимость зависит от того сколько людей готовы купить его. Работы с учетом последующих исправлений ошибок 2 недели.
Неделя на разработку и неделю на исправления.

Разместил: LBT Время: 12-01-2011 21:46
http://www.prestashop.com/forums/viewthread/11455/

Такая идея была на буржуйском сайте ещё год назад)

Суть в том что я без особых знаний php не могу разобратся что нужно делать со всем этим.

1685 строка /%admindir%/tabs/AdminProducts.php
Отвечает за Pre-tax wholesale price/закупочная цена
а вот что туда нужно добавить чтобы вывести выбор валюты, мне пока не ясно

ещё 34 и 35 строчки в /%admindir%/tabs/AdminCurrencies.php
Отвечают за дропдаун выбора основной валюты.

Весь дня танцевал с бубном, так и не понял что и куда))))
Возможно у вас получится)))

Разместил: LBT Время: 12-01-2011 21:49
Кстати если модуль будет действительно серьёзный. все вышеперечисленные в этой и в буржуйской теме функции будут присутствовать то его можно будет за очень неплохие деньги продавать)))

А помогающим в разработке предоставить скидки :P

Разместил: ors Время: 12-01-2011 22:23
Что-то не нашел в той теме никакого кода.

А вообще все довольно просто: расширяем класс Product свойствами id_currency и nacenka, отображаем их в админке. По расписанию запускаем скрипт, который выполняет запрос для каждой из валют, установленных в магазине.
Код:
UPDATE ps_product SET price=wholesale_price*nacenka*'.$currency_rate.' WHERE id_currency='.$id_currency


С обновлением курса валют еще проще: Currency::refreshCurrencies()
Курсы будут взяты отсюда http://www.prestashop.com/xml/currencies.xml

Все остальное в ТЗ либо крайне непонятно, либо невыполнимо (что-то писать в поле скидки, но при этом скидку не делать)

Разместил: Artyom4D Время: 13-01-2011 14:49
Скидка конечно предусмотрена. Половину затраченного времени на этот модуль я оплачиваю сам. Поэтому хотелось бы знать сколько людей его готово купить.

Разместил: alkostar Время: 14-01-2011 06:16
я готов, только сначала надо полностью прописать тз

Разместил: Artyom4D Время: 14-01-2011 17:26
Хорошо. Тогда попробую сегодня сделать полное ТЗ по модулю.

Разместил: Grand-HiFi Время: 14-01-2011 20:07
да неплохой модуль

Разместил: nebesa Время: 16-01-2011 12:37
Огромное СПАСИБО !!!!! Ждем с нетерпением !!!

Разместил: LBT2 Время: 18-01-2011 09:34
Цитата:( Artyom4D @ 13-01-2011 15:49 Смотреть сообщение )
Скидка конечно предусмотрена. Половину затраченного времени на этот модуль я оплачиваю сам. Поэтому хотелось бы знать сколько людей его готово купить.


Какую по итогу сумму придется заплатить нам)? ну в общем?

Разместил: Artyom4D Время: 18-01-2011 13:15
С вычетом моей половины получится 40$ Так что на 2-3 человек получится вообще недорого.

Разместил: alkostar Время: 18-01-2011 17:22
а где тз почитать можно?

Разместил: LBT2 Время: 19-01-2011 14:13
Окей, в принципе да, очень даже хорошая цена)

Но дело в том что мне по сути нужно только чтобы можно было выбирать валюту при добавлении товара.

И ещё мене кажется что в данном случае нужно именно отказатся от понятия основаная валюта:

Например есть 3 валюты

UAH,RUR,EUR

При настройке, в каждой из них указывается курс к 2м остальным:
UAH->EUR=0.098
UAH->RUR=3.783
EUR->UAH=10.532
EUR->RUR=*.***
RUR->UAH=0.265
RUR->EUR=*.***
итд

Помоему это идеальный вариант.

ORS, а у Вас так уже работает? если да то возможно поделитесь?)


Сообщение отредактировано LBT2 19-01-2011 15:13 ...

Разместил: ors Время: 19-01-2011 15:27
Не пробовал. Но должно работать

Разместил: Artyom4D Время: 19-01-2011 20:02
Для администратора сайта именно так и будет, поэтому особой разницы не будет. ТЗ сегодня постараюсь выложить.

Разместил: LBT2 Время: 20-01-2011 05:39
Окей, ждем)

Разместил: LBT2 Время: 20-01-2011 05:41
ORS, я попробовал понять как что и к чему... не понял=( уж больно там всё намудрено в продукт классе(

Разместил: ors Время: 20-01-2011 11:42
Вот пример как добавить дополнительное свойство к классу http://prestalab.ru/wiki/ispolzovanie-kartinok-so-storonnego-sajta

Разместил: LBT2 Время: 20-01-2011 12:48
ORS, спасибо буду пробовать!

Разместил: LBT2 Время: 20-01-2011 14:03
Итак что у меня получилось на данный момент:

Обновил класс продуктов добавив:

inline22

Цитата:
public  $id_currency;
public  $nacenka;

inline162

Цитата:
'id_currency' => 'isString',
'nacenka' => 'isString',

inline231

Цитата:
$fields['id_currency'] = pSQL($this->id_currency);
l $fields['nacenka'] = pSQL($this->nacenka);

Я не уверен что нужно именно 'isString' и pSQL...

Далее вывел в админке всe это дело следующим образом:

Вставляем на 1690 строке AdminProduct.php

Цитата:

echo '
  <tr>
  <td class="col-left">'.$this->l('Наценка:').'</td>
  <td style="padding-bottom:5px;">
'.($currency->format == 1 ? $currency->sign.' ' : '').'<input size="11" maxlength="14" name="nacenka" type="text" value="'.htmlentities($this->getFieldValue($obj, 'nacenka'), ENT_COMPAT, 'UTF-8').'" onchange="this.value = this.value.replace(/,/g, \'.\');" />'.($currency->format == 2 ? ' '.$currency->sign : '').'
<span style="margin-left:10px">'.$this->l('Наценка на данный товар').'</span>
  </td>
  </tr>';
 
  echo '
  <tr>
  <td>'.$this->l('Валюта Закупки:').'</td>
  <td style="padding-bottom:5px;">
<select name="id_currency" id="id_currency">
  <option value="0">-- '.$this->l('Choose (optional)').' --</option>';
  if ($id_currency = $this->getFieldValue($obj, 'id_currency'))
echo '
  <option value="'.$id_currency.'" selected="selected">'.Manufacturer::getNameById($id_currency).'</option>
  <option disabled="disabled">----------</option>';
Далее скомандовал мускулу:
Цитата:
ALTER TABLE `ps_product` ADD `id_currency` VARCHAR( 255 ) NOT NULL
ALTER TABLE `ps_product` ADD `nacenka` VARCHAR( 255 ) NOT NULL
Очень обрадовался когда все вывелось, именно так как нужно. Но проблема в том что не работает выбор валюты, как я понимаю просто напросто не делается выборка из базы... имхо id_currency вносить не нужно было, а нужно было делать выборку из `ps_currency`... но как это сделать я честно говоря не знаю, попробовав добавить новый товар и отдать мускулу команду
Цитата:

UPDATE ps_product SET price=wholesale_price*nacenka*'.$currency_rate.' WHERE id_currency='.$id_currency
он отреагировал следуйщим

Цитата:

#1064 - You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near ''.$id_currency' at line 1
У кого есть какие идеи пишите.


Сообщение отредактировано LBT2 20-01-2011 15:12 ...

Разместил: LBT2 Время: 20-01-2011 14:17
Кстати могу несколько человек приютить на хостинге, есть VDSка пока совсем не нагружена!!!

Разместил: ors Время: 20-01-2011 17:03
В простейшем случае туда только идентификатор валюты нужно писать.
Код:
UPDATE ps_product SET price=wholesale_price*nacenka*'.$currency_rate.' WHERE id_currency='.$id_currency

Это не чистый запрос. он выполнятся должен в скрипте где '.$currency_rate.' курс валюты а '.$id_currency идентификатор валюты

Разместил: Artyom4D Время: 20-01-2011 19:17
Итак ТЗ. Хотелось бы еще услышать пожелания людей кто разбирается в PrestaShop. Например ors

Разместил: ors Время: 20-01-2011 19:38
Без хаков не обойтись, хотябы для отображения полей ввода на странице товара в админке. И зачем дополнительная таблица? гораздо проще добавить в объект дополнительные свойства, при этом и стандартный импорт будет проще модифицировать.

Разместил: Artyom4D Время: 20-01-2011 19:54
То что без хаков не обойтись это понятно. И мое мнение, что модифицировать существующую таблицу некорректно. Лучше добавить.

Разместил: alkostar Время: 21-01-2011 23:23
а как реализовать такую идею:
например товар покупаем по 80 евро
продаем по 85 евро, хотя его реальная розничная цена 100 евро

как обозначить для покупателя, что ему предоставляется скидка 15%???

Разместил: Artyom4D Время: 22-01-2011 19:21
Правильней наверное продавать по той цене которая требуется. Скидку 15% можно реализовать через группы, если надо чтобы видели скидку только определенные пользователи, или просто установить размер скидки в товаре. Этот модуль тут все равно не при чем.

Разместил: Artyom4D Время: 22-01-2011 19:23
В понедельник мы приступаем к этому модулю. Хотелось бы понимать кто принимает участие. Отпишитесь пожалуйста в ПМ.

Разместил: alkostar Время: 23-01-2011 05:23
так лучше сюда
чтоб было понятно сколько народу участвует))

Разместил: nebesa Время: 23-01-2011 05:31
Я согласен с alkostar , ну и естественно я вписываюсь ! наверное alkostar тоже , хотя хз....


Сообщение отредактировано nebesa 23-01-2011 06:32 ...

Разместил: Artyom4D Время: 23-01-2011 06:48
Хорошо. Тогда давайте буду писать ники всех участников.
geomagi, alkostar, nebesa, LBT2

Разместил: LBT2 Время: 23-01-2011 14:39
Странно, я думал народу больше соберется)

Разместил: nebesa Время: 24-01-2011 05:00
Цитата:

Хорошо. Тогда давайте буду писать ники всех участников. 
geomagi, alkostar, nebesa, LBT2


Этот список ещё пополнится или нет ?

Разместил: Artyom4D Время: 24-01-2011 22:18
Думаю нет. Остальные уже будут потом на общих основаниях. Времени было предостаточно чтобы все обдумать.

Разместил: nebesa Время: 26-01-2011 05:10
Если список не пополняется , то давайте спросим у :
Цитата:
geomagi,LBT2

С нами ли они и начнем , так как товарищи :
Цитата:
alkostar и nebesa

По прежнему в теме !

Разместил: alkostar Время: 26-01-2011 15:34
да, я в теме. давайте уже начинать... бизнес стоит))

Разместил: Artyom4D Время: 26-01-2011 15:57
Уже начали :)

Разместил: geomagi Время: 26-01-2011 22:25
Я тоже в теме. Помогу чем могу :) Бизнес не стоит но модуль уж очень нужный.

Разместил: nebesa Время: 27-01-2011 00:16
Цитата:
Помогу чем могу

Тут цена делится на всех кто в теме , так что определяйся уж )

Цитата:
да, я в теме. давайте уже начинать... бизнес стоит))

Не могу не согласится !

Цитата:
Уже начали


Это сильно радует !!!




Разместил: LBT2 Время: 28-01-2011 02:11
PrestaShop 1.4.0.10 RC1... немого не вовремя))))

Разместил: nebesa Время: 06-02-2011 18:50
И как там успехи в модулем???

Разместил: Artyom4D Время: 07-02-2011 21:01
Функциональная часть выполнена. Сейчас работаем над добавлением в админ части.

Разместил: nebesa Время: 10-02-2011 18:38
Продолжаем ждать дальше ...

Разместил: nebesa Время: 20-02-2011 16:33
Хотел спросить, как там дела с модулем ?

Разместил: LBT2 Время: 28-02-2011 01:36
Я тож какбы хотел спросить) ибо месяц уже прошел)

Разместил: LBT2 Время: 04-03-2011 02:06
Спасибо за модуль. Уже во всю используем. Очень нравится, сделано качественно и без ошибок.

Очень хотелось отметить как + кратчайшие сроки выполнения!

Приятно с вами работать. Пускай все ваши клиенты будут так-же довольны как и мы.

Best Regards.

Разместил: geomagi Время: 04-03-2011 20:57
Цитата:( LBT2 @ 03-03-2011 23:06 Смотреть сообщение )
Спасибо за модуль. Уже во всю используем. Очень нравится, сделано качественно и без ошибок.

Очень хотелось отметить как + кратчайшие сроки выполнения!

Приятно с вами работать. Пускай все ваши клиенты будут так-же довольны как и мы.

Best Regards.


И где же это чудо что Вы используйте?

Разместил: LBT2 Время: 05-03-2011 02:59
Я думал будет понятно что все вышесказанное нужно взять в кавычки=)

Модуля нет, и я думаю если и будет то очень не скоро.

Так как я общался с Артемом в ICQ и Skype и он мне говорил что модуль будет готов в течении пары недель, могу смело считать что сроки сорвали.

Если быть честным, то очень расстроен, ибо получаю за это от начальства так сказать пе#дюлей...

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

Кстити ORS, вы часом не возьметесь написать?

Разместил: geomagi Время: 05-03-2011 04:28
Я так и подумал :)
Повторюсь но модуль по моему нужный,думаю что всем мешает скорый выход 1.4 по тому тормозится все что с версией 1.3 связано.

Готов остаться в деле и выложить свои 10-15$ за данный модуль.

Разместил: alkostar Время: 14-03-2011 20:40
потерял надежду...((

может кто-нить другой возьмется? готов скинуться!

Разместил: ors Время: 14-03-2011 22:59
Набросал за пол часа хак для 1.4.0.15, но без проблем под 1.3 можно перегнать.

Для установки скопировать в корень сайта и выполнить в phpMyAdmin
Код:
ALTER TABLE `ps_product` ADD `id_currency` INT( 10 ) UNSIGNED NULL;
ALTER TABLE `ps_product` ADD `margin_val` DECIMAL( 20, 6 ) UNSIGNED NULL;
ALTER TABLE `ps_product` ADD `margin_percent` DECIMAL( 20, 6 ) UNSIGNED NULL;


Для обновления курсов и цен выполнять price_upd.php

Расчет цен происходит по формуле:
Код:
p.`price`=(p.`wholesale_price`*(1+p.`margin_percent`/100)+p.`margin_val`)*c.`conversion_rate`

Разместил: Chuvpilov Время: 04-05-2011 21:14
на 1.4.1.0 ставиться криво, пропадает выбор категории. можно "перегнать" под 1.4.1.0, так-как весьма нада.

Заранее благодарен!

Разместил: demirov Время: 15-09-2011 21:30
как хотя бы настроить, чтобы в back-офисе по-умолчанию цена была в у.е. (в базе была в у.е.), а в front-офисе отображалась по-умолчанию в грн.

блок переключения валют вообще убрал, так как для такого товара цена в у.е. не нужна

Разместил: drdiesel Время: 10-01-2012 03:30
Добрый день, у меня 2 разных поставщика, и нужно заливать товар в 2х разных валютах. Подскажите был ли разработан модуль? Или может нашелся другой выход.


Сообщение отредактировано drdiesel 10-01-2012 04:31 ...

Разместил: e_v_medvedev Время: 10-01-2012 06:47
Цитата:( drdiesel @ 09-01-2012 23:30 Смотреть сообщение )
Добрый день, у меня 2 разных поставщика, и нужно заливать товар в 2х разных валютах. Подскажите был ли разработан модуль? Или может нашелся другой выход.


На сколько я помню это без вариантов. Для бэкофиса поддерживается только одна валюта. Выделение для каждого товара свой валюты не предусмотрено. Надо приводить к одной валюте и где-то отдельно вести соответствующий учет (неудобно но ни чего не поделаешь).

Разместил: drdiesel Время: 17-01-2012 15:20
Если кто-то разработал либо готов разработать такой модуль, готов заплатить за него

Разместил: e_v_medvedev Время: 17-01-2012 15:25
Цитата:( drdiesel @ 17-01-2012 11:20 Смотреть сообщение )
Если кто-то разработал либо готов разработать такой модуль, готов заплатить за него


Это модулем не делается. Тут нужно структуру БД немного менять, и много в базовых классах переделывать, чтобы система учитывала для каждого товара свою валюту. Это обойдется очень дорого (логика работы с товарами и заказами меняется). Стоимость мерять придется десятками тысяч рублей. Если вы готовы платить серьезные деньги за переделку то пишите на e.v.medvedev@mail.ru.

www.prestadev.ru