yodaexolon Опубликовано 8 декабря, 2014 Жалоба Поделиться Опубликовано 8 декабря, 2014 В denver показывает ошибку Warning: Invalid argument supplied for foreach() in Z:\home\site\www\simpla\ProductsAdmin.php on line 75 Цитата Ссылка на сообщение Поделиться на другие сайты
stroker Опубликовано 8 декабря, 2014 Жалоба Поделиться Опубликовано 8 декабря, 2014 В denver показывает ошибку Warning: Invalid argument supplied for foreach() in Z:\home\site\www\simpla\ProductsAdmin.php on line 75Так а что у вас на этой строке в этом файле? перевод гласит неправильный аргумент для foreach Цитата Ссылка на сообщение Поделиться на другие сайты
yodaexolon Опубликовано 8 декабря, 2014 Жалоба Поделиться Опубликовано 8 декабря, 2014 Так а что у вас на этой строке в этом файле? перевод гласит неправильный аргумент для foreachforeach($prices as $id=>$price)пункт 2.4.3 Цитата Ссылка на сообщение Поделиться на другие сайты
stroker Опубликовано 8 декабря, 2014 Жалоба Поделиться Опубликовано 8 декабря, 2014 для начала перед foreach($prices as $id=>$price)print_r('<pre>');print_r($prices);покажет приходит ли массив с ценами от инпута price[] Если нет данных из него, смотрите сам инпут Ставить просто нет желания, если хотите пишите в личку помогу бесплатно. Цитата Ссылка на сообщение Поделиться на другие сайты
gl63amg Опубликовано 18 декабря, 2014 Жалоба Поделиться Опубликовано 18 декабря, 2014 У меня проблема. Все установил. Все работает. Но при сохранении нового товара или при изменении старого. Добавляются пустые варианты товар. Причем кол-во пустых совпадает с кол-вом нормальных Цитата Ссылка на сообщение Поделиться на другие сайты
nekkby Опубликовано 18 декабря, 2014 Жалоба Поделиться Опубликовано 18 декабря, 2014 У меня проблема. Все установил. Все работает. Но при сохранении нового товара или при изменении старого. Добавляются пустые варианты товар. Причем кол-во пустых совпадает с кол-вом нормальных Скорее всего где-то скобку не закрыли. Пересмотрите еще раз код. Цитата Ссылка на сообщение Поделиться на другие сайты
Tempter Опубликовано 20 декабря, 2014 Жалоба Поделиться Опубликовано 20 декабря, 2014 Хорошо сделал и молодец что выложил с подробным описанием. Рекомендую проделать немного по другому в файле api/Variants.php создай функцию для пересчета цен и постоянно обращайся к ней в функциях get_variants, get_variant.Пример моей реализации:А как реализовать такое количество типов цен? Цитата Ссылка на сообщение Поделиться на другие сайты
ExtraBash Опубликовано 20 декабря, 2014 Автор Жалоба Поделиться Опубликовано 20 декабря, 2014 Ребята, я внес небольшие правки, добавились несколько стилей, обрамили в шаблоне Products.tpl нашу новую строчку в div.old_wrap: <div class="old_wrap"> <div class="old_price"> <div class="op_cover" {if $variant->compare_price>0}title="Старая цена — {$variant->compare_price} {$currency->sign}"{elseif $variant->base_compare_price>0}title="Старая цена — {$variant->base_compare_price} {$currency->sign}"{/if}></div> <input type="text" name="price[{$variant->id}]" value="{if $variant->currency}{if $variant->base_price}{$variant->base_price*$currencies[$variant->currency]->rate_to/$currencies[$variant->currency]->rate_from|escape}{else}{$variant->price*$currencies[$variant->currency]->rate_to/$currencies[$variant->currency]->rate_from|escape}{/if}{else}{$variant->price}{/if}"/> </div> <input class="stock" type="text" name="stock[{$variant->id}]" value="{if $variant->infinity}?{else}{$variant->stock}{/if}" /><span class="v_unit">{$settings->units}</span> </div> Два новых стиля, первый ясно откуда, второй для того чтобы в Product.tpl не съезжала кнопка загрузки электронного контента: .old_wrap { float: right; width: 182px; } #variants_block li.variant_download { width: 50px; } Упростил метод обновления цен на сайте при изменении валюты, он стал значительно проще:2.5. Решение проблемы обновления расчетных цен на сайте.(кто использовал старое - Функцию update_currency в api/Money.php меняем на стандартную)Будем менять /simpla/CurrencyAdmin.php При обновлении измененной валюты обновим и все варианты с такой-же валютой,начало и конец заменяемого кода обрамлены неизменными частями кода, обратите внимание, в 2.3.6самое начало кода выглядит не совсем так, так что отчеркрутое слешами не советую копировать: foreach($this->request->post('currency') as $n=>$va) foreach($va as $i=>$v) $currencies[$i]->$n = $v; ////////////////////////////////////////////////////////////// $currencies_ids = array(); foreach($currencies as $currency) { if($currency->id) { $this->money->update_currency($currency->id, $currency); $this->db->query("UPDATE __variants SET price=base_price*? WHERE currency=?" , $currency->rate_to/$currency->rate_from, $currency->id); } else $currency->id = $this->money->add_currency($currency); $currencies_ids[] = $currency->id; } ////////////////////////////////////////////////////////////// // Удалить непереданные валюты $query = $this->db->placehold('DELETE FROM __currencies WHERE id NOT IN(?@)', $currencies_ids); $this->db->query($query); Пока всё, позже может еще чего допилю, как будет время. Цитата Ссылка на сообщение Поделиться на другие сайты
Kors Опубликовано 21 декабря, 2014 Жалоба Поделиться Опубликовано 21 декабря, 2014 Упростил метод обновления цен на сайте при изменении валюты, он стал значительно проще: 2.5. Решение проблемы обновления расчетных цен на сайте.Да, стало лучше в плане рациональности. Но в плане правильности метода и надежности работы практически ничего не изменилось. Метод правильно работает лишь в простейших случаях. Рекомендуется пользоваться с осторожностью. В некоторых ситуациях предлагаемая доработка может сильно испортить данные по ценам. В теме мной уже сообщалось об этом с полмесяца тому назад, автор пока этого замечать не желает. Цитата Ссылка на сообщение Поделиться на другие сайты
Karen Опубликовано 15 января, 2015 Жалоба Поделиться Опубликовано 15 января, 2015 Ребята, я внес небольшие правки, добавились несколько стилей, обрамили в шаблоне Products.tpl нашу новую строчку в div.old_wrap: <div class="old_wrap"> <div class="old_price"> <div class="op_cover" {if $variant->compare_price>0}title="Старая цена — {$variant->compare_price} {$currency->sign}"{elseif $variant->base_compare_price>0}title="Старая цена — {$variant->base_compare_price} {$currency->sign}"{/if}></div> <input type="text" name="price[{$variant->id}]" value="{if $variant->currency}{if $variant->base_price}{$variant->base_price*$currencies[$variant->currency]->rate_to/$currencies[$variant->currency]->rate_from|escape}{else}{$variant->price*$currencies[$variant->currency]->rate_to/$currencies[$variant->currency]->rate_from|escape}{/if}{else}{$variant->price}{/if}"/> </div> <input class="stock" type="text" name="stock[{$variant->id}]" value="{if $variant->infinity}?{else}{$variant->stock}{/if}" /><span class="v_unit">{$settings->units}</span> </div> Два новых стиля, первый ясно откуда, второй для того чтобы в Product.tpl не съезжала кнопка загрузки электронного контента: .old_wrap { float: right; width: 182px; } #variants_block li.variant_download { width: 50px; } Упростил метод обновления цен на сайте при изменении валюты, он стал значительно проще:2.5. Решение проблемы обновления расчетных цен на сайте.(кто использовал старое - Функцию update_currency в api/Money.php меняем на стандартную) Будем менять /simpla/CurrencyAdmin.php При обновлении измененной валюты обновим и все варианты с такой-же валютой,начало и конец заменяемого кода обрамлены неизменными частями кода, обратите внимание, в 2.3.6самое начало кода выглядит не совсем так, так что отчеркрутое слешами не советую копировать: foreach($this->request->post('currency') as $n=>$va) foreach($va as $i=>$v) $currencies[$i]->$n = $v; ////////////////////////////////////////////////////////////// $currencies_ids = array(); foreach($currencies as $currency) { if($currency->id) { $this->money->update_currency($currency->id, $currency); $this->db->query("UPDATE __variants SET price=base_price*? WHERE currency=?" , $currency->rate_to/$currency->rate_from, $currency->id); } else $currency->id = $this->money->add_currency($currency); $currencies_ids[] = $currency->id; } ////////////////////////////////////////////////////////////// // Удалить непереданные валюты $query = $this->db->placehold('DELETE FROM __currencies WHERE id NOT IN(?@)', $currencies_ids); $this->db->query($query); Пока всё, позже может еще чего допилю, как будет время.Можно ли сделать чтоб еще в карточке товара или на весь товар в категории можно было изменять курс валют? Например: Общий курс евро в интернет-магазине 23грн. но у меня есть позиции товара которым нужно задать курс евро 19грн. Цитата Ссылка на сообщение Поделиться на другие сайты
ExtraBash Опубликовано 15 января, 2015 Автор Жалоба Поделиться Опубликовано 15 января, 2015 Можно ли сделать чтоб еще в карточке товара или на весь товар в категории можно было изменять курс валют? Например: Общий курс евро в интернет-магазине 23грн. но у меня есть позиции товара которым нужно задать курс евро 19грн.Создай еще 1 валюту, назови ее евро2 и сделай товары по 19 - евро2. Цитата Ссылка на сообщение Поделиться на другие сайты
Karen Опубликовано 16 января, 2015 Жалоба Поделиться Опубликовано 16 января, 2015 Гениально, спасибо Цитата Ссылка на сообщение Поделиться на другие сайты
Oles89 Опубликовано 22 января, 2015 Жалоба Поделиться Опубликовано 22 января, 2015 Спасибо за код, все работает, но столкнулся с 2-мя проблемами, при добавлении в ручную товар, при сохранении карточки появляеются пустые поля где артикул и т.д. Если импортировать товар, то в карточке товара не отображается артикул. В чем может быть проблема подскажите плиз Цитата Ссылка на сообщение Поделиться на другие сайты
ExtraBash Опубликовано 26 января, 2015 Автор Жалоба Поделиться Опубликовано 26 января, 2015 Спасибо за код, все работает, но столкнулся с 2-мя проблемами, при добавлении в ручную товар, при сохранении карточки появляеются пустые поля где артикул и т.д. Если импортировать товар, то в карточке товара не отображается артикул. В чем может быть проблема подскажите плизНапишите в скайп, обсудим. abashyrov Цитата Ссылка на сообщение Поделиться на другие сайты
ExtraBash Опубликовано 2 марта, 2015 Автор Жалоба Поделиться Опубликовано 2 марта, 2015 (изменено) Господа, нашел ошибку в пункте 2.5 в файле simpla/CurrencyAdmin.phpЗабыл обновить цены скидочные, правильный запрос: $this->db->query("UPDATE __variants SET price=base_price*?, compare_price=base_compare_price*? WHERE currency=?" , $currency->rate_to/$currency->rate_from, $currency->rate_to/$currency->rate_from, $currency->id); П.С.Вопрос к местным - стало нельзя редактировать свои старые сообщения?Мне нужно полную инструкцию поправить. Изменено 2 марта, 2015 пользователем ExtraBash Цитата Ссылка на сообщение Поделиться на другие сайты
cernos Опубликовано 14 марта, 2015 Жалоба Поделиться Опубликовано 14 марта, 2015 что то этот модуль все спортил!!! Цитата Ссылка на сообщение Поделиться на другие сайты
ExtraBash Опубликовано 14 марта, 2015 Автор Жалоба Поделиться Опубликовано 14 марта, 2015 что то этот модуль все спортил!!!Не понял, что испортил? Давай подробности.У всех работает... Цитата Ссылка на сообщение Поделиться на другие сайты
cernos Опубликовано 14 марта, 2015 Жалоба Поделиться Опубликовано 14 марта, 2015 (изменено) Не понял, что испортил? Давай подробности.У всех работает... Логика уже работает нормально, я изначально не понял логику... все цены слетели, я так и не понял, моя была ли вина или нет. Но это не проблема, одним запросом в БД вылечил. сделал все по инструкции, но:1. в карточке товара в админке исчез диск и кол-во товара, поправил2. в карточке товара в админке при добавлении нового варианта отсутствуют поля с выбором валюты и ценой пересчета, поправил.3. изменил базовые стили, ибо все поля не вмещались в одну строку (с диском и кол-вом товара на складе) Изменено 14 марта, 2015 пользователем cernos Цитата Ссылка на сообщение Поделиться на другие сайты
ExtraBash Опубликовано 14 марта, 2015 Автор Жалоба Поделиться Опубликовано 14 марта, 2015 Логика уже работает нормально, я изначально не понял логику... все цены слетели, я так и не понял, моя была ли вина или нет. Но это не проблема, одним запросом в БД вылечил. сделал все по инструкции, но:1. в карточке товара в админке исчез диск и кол-во товара, поправил2. в карточке товара в админке при добавлении нового варианта отсутствуют поля с выбором валюты и ценой пересчета, поправил.3. изменил базовые стили, ибо все поля не вмещались в одну строку (с диском и кол-вом товара на складе)Ну ничосе ты хакер))) 1. Странно, видимо лишнего заменил2. Ага3. Можно любоваться) Цитата Ссылка на сообщение Поделиться на другие сайты
cernos Опубликовано 14 марта, 2015 Жалоба Поделиться Опубликовано 14 марта, 2015 Желательно все эти изменения внести сразу : ) Дополнение хорошее, логика в принципе отличная, когда себе делал, по другому сделал, более замудренно.Одно только но, в запросе у тебя есть "ADD `currency` TEXT,"замени TEXT на varchar 255 - зачем этому полю более 10 000 символов? ))) Не принципиально в данном случае, но правильнее будет varchar Цитата Ссылка на сообщение Поделиться на другие сайты
Kors Опубликовано 14 марта, 2015 Жалоба Поделиться Опубликовано 14 марта, 2015 Логика уже работает нормально, я изначально не понял логику... все цены слетели, я так и не понял, моя была ли вина или нет.Но в плане правильности метода и надежности работы практически ничего не изменилось. Метод правильно работает лишь в простейших случаях. Рекомендуется пользоваться с осторожностью. В некоторых ситуациях предлагаемая доработка может сильно испортить данные по ценам. В теме мной уже сообщалось об этом с полмесяца тому назад, автор пока этого замечать не желает. Цитата Ссылка на сообщение Поделиться на другие сайты
cernos Опубликовано 14 марта, 2015 Жалоба Поделиться Опубликовано 14 марта, 2015 (изменено) Логика уже работает нормально, я изначально не понял логику... все цены слетели, я так и не понял, моя была ли вина или нет.>>Но в плане правильности метода и надежности работы практически ничего не изменилось.Метод правильно работает лишь в простейших случаях. Рекомендуется пользоваться с осторожностью. В некоторых ситуациях предлагаемая доработка может сильно испортить данные по ценам. В теме мной уже сообщалось об этом с полмесяца тому назад, автор пока этого замечать не желает. В некотором плане соглашусь, в некотором нет. У меня логика более сложна, тобишь в моей реализации цены хранятся в валюте, а при выводе в запросе уже перемножаются в валюту магазина. С одной стороны - это правильно, с другой стороны мне пришлось править слишком много запросов связанных с отображением товара + нагрузка на БД. В данном примере цены уже хранятся пересчитанные, что конечно может повлечь проблемы с неправильным обращением, но значительно упрощает установку + снижает нагрузку на БД. Изменено 14 марта, 2015 пользователем cernos Цитата Ссылка на сообщение Поделиться на другие сайты
ExtraBash Опубликовано 14 марта, 2015 Автор Жалоба Поделиться Опубликовано 14 марта, 2015 (изменено) Корс Просто продает свою, там проработан более качественно функционал CurrencyAdmin, если я все правильно понимаю... Изменено 14 марта, 2015 пользователем ExtraBash Цитата Ссылка на сообщение Поделиться на другие сайты
RusLi Опубликовано 19 марта, 2015 Жалоба Поделиться Опубликовано 19 марта, 2015 (изменено) Автору безграничный респект! Но в шапке последнее верное решение? пилю, пилю.... и все криво Я ясен пень нуб в вебдеве, но в кризис приходится вспоминать уроки информатики в товарах вроде норм: Изменено 19 марта, 2015 пользователем RusLi Цитата Ссылка на сообщение Поделиться на другие сайты
yodaexolon Опубликовано 19 марта, 2015 Жалоба Поделиться Опубликовано 19 марта, 2015 Незаменимое дополнение в данный период, когда курс валют постоянно меняется.Все отлично работает, спасибо. Цитата Ссылка на сообщение Поделиться на другие сайты
Рекомендуемые сообщения
Присоединяйтесь к обсуждению
Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.