Писать на форуме DIAFAN.CMS могут только зарегистрированные пользователи. Войдите или зарегистрируйтесь.
Всего найдено: 75
-
07 ноября 2015 г.
-
Решил свою проблемму - сложил все количества характеристик
$jkk=$prices[0]["count_goods"]+$prices[1]["count_goods"]+$prices[2]["count_goods"]+$prices[3]["count_goods"]+$prices[4]["count_goods"]+$prices[5]["count_goods"]+$prices[6]["count_goods"];
Может Вы предложите более изящный код))))))))))))
а потом заменил проверку на эту
if(empty($prices) || $this->diafan->configmodules("use_count_goods", 'shop', $site_id) && empty($jkk) || $row["no_buy"])
{
$available = 'false';
}
else
{
$available = 'true';
}
Все заработало!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
Всем Спасибо - не дали мне сдаться)))) -
-
-
-
07 ноября 2015 г.
-
Спасибо Вам большое. Ваши правки кода много кому могут пригодиться. А то, что я написал - это не серьезно, так я вообще еле-еле соображаю в этом PHP ))). Заменю свой код на Ваш. Хотя подсчет количества оставлю, я его еще и вывожу на страницу яндекса - там можно добавить доп. информацию, вот я и добавляю, что на складе остаток этого товара 2 шт (например). Еще раз спасибо.
-
-
-
-
07 ноября 2015 г.
-
А все же интересно, что плохого может вызвать мой метод?)) Наверное я в учет не принимаю некоторое сочетание цена-характеристика, при котором результат у меня будет ошибочным. Сам я не вижу такого варианта. Ведь я проверяю только количество, а на выбор минимальной цены не влияю- как было, так и осталось. Если ответите то в общих чертах, - не хочу больше отнимать у Вас время.
-
-
-
-
08 ноября 2015 г. , редакция: 1446981469
-
Начну с последнего вопроса.
Первый лучше второго наверное потому, что запрос количества цен вынесен за пределы цикла и поэтому он быстрей. Других отличий не вижу.
Касаемо подсчета количества одного товара по всем его характеристикам - первый примитивный код тупого суммирования цен (с запасом 7 раз, так как у меня более 7 характеристик нигде не встречается) - это результат моего невежества. Потом порыл немного интернет и попробовал сделать цикл. В том числе я пробовал написать цикл перебора массива, но не получилось - неправильно обращался к переменным. Например $len = count($prices); я пытался узнать как $len = count($prices["count_goods"]); и массу прочего бреда писал, а написание сложения $total += для меня стало откровением..... Поэтому просто вставил 20 циклов сложения - это с запасом. На примере вашего кода понимаю, что я сделал не так. Поэтому на свете и существуют ученики и учителя))) Может сам я со временем пришел бы к более оптимальному коду в похожей задаче в следующий раз, но без ваших подсказок, наверняка мой собственный код навсегда поселился в моем shop.yandex.php, так как как правило нет надобности лезть туда, где все работает, хоть и не очень правильно. Большое Вам спасибо. -
-
-
-
03 ноября 2015 г.
-
Здравствуйте.
Товар имеет характеристики с количеством по ним. На главной странице возле каждого товара выводиться "на складе- 10 шт" правильно для каждого товара. Делается то в shop.view.rows.php кодом
foreach ($result['rows'] as $row) {
$text .= (!empty($row["rating"]) ? $row['rating'] : '') . ' На складе: '.$row["count"];
}
Мне нужно для правки страницы shop.yandex.php подсчитать в ней суммарное количество по каждому выводимому товару (что бы запретить присваивать цену 0 , если товар есть в одной из характеристик). Когда я вставляю туда вышеупомянутый код, то не получаю количества вообще - приходит пустота. Видимо неправильное обращение к базе. Можете ли кто подсказать, что нужно поправить, что бы получить результат. Спасибо.
Мне нужно вывестиВывод общего количества товара по всем характеристикам для одного товара -
-
-
-
03 ноября 2015 г.
-
Да я писал через #text.=
Перебрал массу вариантов, например
$text.= ' Количество по всем характеристикам '.$count. 'шт'.;
Не могу вывести количество / проблемма в том, что я не знаю как правильно подцепить это количество из базы.
ПТ ответила, что мне придется передирать все характеристики с суммировать - это сложно для меня, к тому же они все равно не дали прямого обращения к базе, а сам я не умею еще догадываться.
Но ведь на странице shop.view.rows.php кодом
foreach ($result['rows'] as $row) {
$text .= (!empty($row["rating"]) ? $row['rating'] : '') . ' На складе: '.$row["count"];
}
Все выводиться. Вот ссылка там видно какое количество в каждом товаре, суммарно, во всех характеристиках.
Но Этот код не работает в shop.yandex.php -
-
-
-
28 октября 2015 г. , редакция: 1445997498
-
Спасибо.
Все верно, когда товара стало 0, цена равна =0. То что на сайте пропала кнопка купить - это не так страшно. У меня выводится сообщение - типа "Выбирите другой размер". Проблемма в формировании файла для Яндекса. Цена в YML подтягивается из первой позиции сочетания характеристик. Если еще на сайте можно догадаться поменять размер и все же купить товар, то Яндекс Маркет получает цену ноль и отключает товар. Невозможно в рчном режиме гонятся за продаными сочетаниями. Все бы решилось, если бы при нулевом количестве той или иной характеристики, она не выводилась первой, менялся порядок. Возможно не все так просто. Если задать алгоритм проверки цены характеристики в Buy.Form (с чем я вероятно сам и не справлюсь) и вывести вторую или третью цену, то это может не гарантировать, что при для Яндекса подтянется цена с ненулевым значением.
Идеально решить обе проблемы. Во первых поставить проверку на самом сайте и выводить первой характеристику с количеством и ценой (возможность выбрать проданую характеристику с нулевой ценой при этом остается). Во вторых поправить файл shop.yandex.php, что бы он из базы вытягивал (пусть даже любую в рамках товарной позиции) цену, отличную от 0. -
-
-
-
26 октября 2015 г.
-
Пытался дописать shop.view.buy_form.php, но не справился - знаний маловато. Мне не лень, буду дальше править код. Просто обидно будет, если все легче делается, - например всего одной переменной нужно поменять значение или еще что. А то я пишу простыни - типа "если-то", что-то не учитываю и ничего не работает.
-
-
-
-
25 октября 2015 г.
-
Здравствуйте.
Не могу победить)) У меня товар с характеристиками, влияющие на цену. Если количество при продаже стало 0, то цена у него будет тоже 0. На страницу выводиться товар без кнопок - купить , отложить... цена = 0. Не всякий догадается поменять цвет товара, что бы купить, думают, что нет такого товара вообще. Можно ли сделать, что бы если в списке сочетаний характеристик и цен было количество не равно 0 и цена нормальная, то эту бы характеристика выводилась первой.
Вторая беда связана Яндекс Маркетом. На него прилетает цена =0, - соответственно будет ошибка, товар не попадет в маркет, хотя он есть в наличии.
Может кто-то уже делал исправления кода,
Спасибо всем, кто ответит.. -
-
-
-
25 октября 2015 г.
-
Добрый день.
В карточке товара в разделе "Дополнительные параметры" при включенном выкладывании этого товара на Яндекс Маркет, появляются поля - в том числе и "Группа товаров / категория:" Мне казалось, что это некое уточнение, которое более правильно разложит товар уже на самом Яндексе. например, у меня куртка женская и мужская на сайте в одной категории "Куртки". Файл shop.yandex.php генерирует иерархию категорий в соответствии со структурой каталога. Вот и мои куртки попадают в одну категорию. А нужно, что бы в разные - на яндексе ветки категорий сразу разделяются на мужские женские, детские. Когда я к карточке товара заполнил к женской куртке "Группа товаров / категория:" то это никак не повлияло на результаты генерации файла YML. Категории в него подтягиваются как и прежде. Подскажите пожалуйста, как в shop.yandex.php поправить код, что бы категории пришли из карточки товара, а не из структуры каталога. какое обращение в базе для получения результата именно мной заполненной строки о категориях. Большое спасибо. -
-
-
-
02 марта 2016 г.
-
Чушь это все. Это место вообще про другое. В коде ничего менять не нужно а нужно делать так:
Если в 1С товар Лыжи Salomon лежит в папке Зима, и в 1С вы делаете подпапку Salomon и перетаскиваете туда товар, То на сайте товар тоже перетащится в новую категорию Salomon. При этом в Администрировании в каталоге у товара светится только 1 категория - Salomon , а на сайте находясь в разделе Зима не видны к выбору параметры товра из подпапки Salomon,
Если раскрыть в администрировании карточку товара, то в ней отмечена оснавная категория = Зима и отмечена Дополнительная категория Salomon (но почему то было не активно). Ничего не меняя просто сохраняя выходим и у товара в списке уже светится две категории - Зима, Salomon. В разделе зима на сайте видны параметри товара Лыжи Salomon. Так как из 1С нужно каждый раз делать полную выгрузку, а не изменений (иначе слетают все характеристики у несинхронизируемового товара, никто мне так и не подсказал, как вообще на постоянку всем характеристикам присвоить привязку ко всем категориям, то есть общие, и что бы не сбрасывалось при синхронизации)), то категория Salomon (основная для товара в 1с и дополнительная для товара на сайте) вновь слетает. Нужно опять открыть карточку товара и пересохранить.
Что бы избежать этого нужно на сайте поменять местами основную и дополнительную категории и привести в соответствие с 1С. Тогда товар при синхронизации прилетает в категорию Salomon? а его дополнительная категория - Зима, не сбивается. Если товар изначально в 1с создать в папке и не перемещать его никуда, то такой проблемы не возникает, на сайте можно назначать любое количество доп. категорий. -
-
-
-
29 февраля 2016 г.
-
Наверное нашел место, где можно отключить условие отказа от регистрации категории для товара. Это для того, что бы на сайте можно было назначить доп категорию а при синхронизации все бы не сбрасывалось. Тогда можно спокойно назначить товару вручную вышестоящую категорию, в котрой и станут видны все характеристики для отбора. Тогда можно текущую категорию сделать неактивной. Тогда пользователю не будут вижны все подкатегории и он сможет видеть весть товар в обной категории, хотя в 1с все лежит в подпапках.
Делал синхронизацию, - дополнительные категории у товара не сбросились. Потестирую еще, напишу.
А код, который удалил примерно 910 строка (не точно, я раньше правил код и строки могли сдвинуться)
// категория
if(isset($xml_product->Группы->Ид))
{
$cat_id = $_SESSION["1c_cats"][strval($xml_product->Группы->Ид)];
}
//Для разрешение допхарактеристик удалил следущее условие
/*else
{
$cat_id = 0;
} */ -
-
-
-
29 февраля 2016 г.
-
Здравствуйте, у меня схожая ситуация - нужно изменить стандартный способ привязки товар и категорий при импорте. Структура каталогов в 1с полностью соответствует иерархии категорий на сайте, меня все устраивает, кроме одного. Если товар находится в дочерней категории на сайте, то в материнской не доступны к отбору характеристики. Например на сайте, так как и в 1с:
-Телефоны-
-Sony- (категория, которая в 1с создана для более удобной работы, иначе слишком длинный список по моделям)
-Nokia- (категория, которая в 1с создана для более удобной работы, иначе слишком длинный список по моделям)
Внутри Sony находится товар у которого есть характеристика, например "память" со своими значениями.
При такой конструкции на сайте находясь в категории _Телефоны, параметры Память не доступны к выбору, - нужно войти в подкатегории с товаром.
Я пробовал на товар ставить дополнительную категорию, что бы модель телефона была и в SONY и в ТЕЛЕФОНЫ. Тогда все в порядке до очередной синхронизации с 1С. После нее дополнительные категории с товара слетают. Мечтаю найти место в файле modules/shop/shop.1c.php где можно прекратить привязывать товар к категориям. Пусть категории выкладываются сами по себе, как в 1с, а товар сам по себе. Рассовать его на сайте в нужные категории не сложно.
Возможно, что в таком случае, товар после синхронизации вновь вывалиться вне категорий. Возможно будут создаваться повторы вне категорий. Мне есть с чем поэкспериментировать))
Прошу Помочь и подсказать, как корректно попросить код не связывать товар и категории.
А можем мне у более правильный путь укажите для решения этой задачи. Спасибо -
-
-
-
15 сентября 2015 г.
-
Стадартный шаблон "Спортивный магазин". Использую товар с Характеристиками, влияющими на цену и свойством " Список с выбором нескольких значений". Если у товара не менее двух характеристик (есть выбор для покупателя), то все работает как часы. Если у товара изначально была только одна характеристика, то окошко выбора характеристик не выводится и положить товар в корзину нельзя, так как выводится сообщение, что нужно все же выбрать хоть одну зарактеристику. Вероятно где-то нужно отключить проверку числа характеристик? Что бы всегда выводилось окно с цветом или размером. Я не програмист. Методом дедукции )) предполагаю, что код где-то здесь: shop.view.buy_form.php:
Наверно этот:
echo '<div class="addict-field">';
echo '<div class="js_shop_form_param">';
foreach ($result["result"]["depends_param"] as $param)
{
if(! empty($result["row"]["param_multiple"][$param["id"]]))
{
if(count($result["row"]["param_multiple"][$param["id"]]) ==1)
{
foreach ($result["row"]["param_multiple"][$param["id"]] as $value => $depend)
{
'<input type="hidden" name="param'.$param["id"].'" value="'.$value.'"'.($depend == 'depend' ? ' class="depend_param js_shop_depend_param"' : '').'>';
}
} -
-
-
-
20 августа 2015 г.
-
Здравствуйте.
На моем сайте http://www.100ika.ru/longbord63/v-sbore/
характеристики на товар выводятся в виде квадратиков, то есть сразу все.
У меня несколько характеристик - получается огромное поле в квадратиках. Возможно ли переделать и выводить в компактном виде - выпадающее поле. Что для этого надо сделать, откуда начать? Нужно заменить код или править стили? -
-
-
-
22 июля 2015 г. , редакция: 1437515694
-
Ничего менять не нужно, все и так работает.
При создании вида номенклатуры в 1с при использовании дополнительных характеристик, следует выбирать "Индивидуальные для номенклатуры"
Появляется возможность создания
1. "Дополнительные реквизиты номенклатуры" - при синхронизации с сайтом они попадают в Характеристики со свойством "Выпадающий список" Например вводим "Сковородка", назначаем дополнительный реквизит "Тефлоновая" - этот реквизит не будет участвовать в выборе при заказе, но по нему можно на сайте делать отбор (поиск) - Покупатель сможет вывести на страницу все тефлоновые сковородки" Если нужно в УТ в виде номенклатуры можно настроить автоматическую генерацию названия позиции номенклатуры, которая прилетит и на сайт, что бы позиция была не просто сковородка, а "сковородка тефлоновая"
2. "Дополнительные реквизиты характеристик". Их лучше создавать "Общие" (что бы не задваивать на странице товара в админе. ). Этот реквизит как раз и служит для расширения свойств товара и привязки к цене. Например создадим характеристику "Диаметр(Общий)" Реквизиты к характеристике не создаем. Особенно если пользуетесь загрузкой номенклатуры из XLS. Тогда при создании "номенклатуры" товара и выборе нашего "вида номенклатуры" УТ предложит создать "Индивидуальную характеристику", создаем -откроется Помощник создания в котором нужно выбрать значение свойств характеристики "Диаметр" - их пока нет, но в форме есть поля, в которых можно выбрать значение, так как это Общие реквизиты. Для характеристики Диаметр мы не заполняли. Поэтому при выборе откроется пустое поле значений (при следующей сковородке, там уже будут введенные в этот раз значения). Вводим 22 см, 25см, 30см. но выбираем одно, например 30 см. Нужно еще ввести рабочее наименование созданной характеристике. Но я настроил в "Вид номенклатуры" автоматическую генерацию имен характеристик (там есть помошник) -у меня они совпадают с реквизитом характеристики, т.есть при выбре значения 30 см генерируется имя характеристики "30см", но можно и руками забить. Итак мы создали характеристику 30см со значением 30см. Как бы для работы Ут это лишнее, можно просто создать характеристику без значения, но только значение является переменной на сайте. При синхронизации на сайт прилетит характеристика со свойством "Список с выбором из нескольких значений" - это будет у нас "Диаметр" с характеристикой "30см" и значением этой характеристики "30см". Если ввести эту сковородку с другими характеристиками - 22см..., то все они прилипнут к Дополнительному Реквизиту "Диаметр", причем при вводе товара в УТ вам придется формировать цену и вводить количество для каждой характеристики "диаметр" нашей сковородки.
На сайте получаем Сковородка (или сковородка тефлоновая, как сами хотите) с характеристикой "тефлоновая" и с индивидуальной характеристикой "Диаметр" с выбором значений и привязкой по цене.
Единственная проблемма, что УТ передает на сайт полное наименование дополнительной характеристики - там будет так - Диаметр(Справочник "характеристики номенклатуры" (Общие)) Все скрины по порядку ниже, последний скрин по моему товару (сковородку я на свой сайт не стал передавать) -
-
-
-
24 июля 2015 г.
-
Я отлично Вас понимаю. В Ут11 позицию номенклатуры можно обвесить только двумя типами дополнительной информации
- Доп. характеристиками номенклатуры, которые служат лишь описанием и нужны для выводов отчетов, например сколько осталось "тефлоновых сковородок" а не алюминиевых или чугунных. В 1с эта характеристика не позволит создавать товары с одним названием наименования номенклатуры, поэтому невозможно присвоить разные цены на товар "Сковородка" с характеристикой алюминиевая и характеристикой чугунная.
-И второй тип доп. информации расширяющий номенклатуру - Дополнительные реквизиты характеристик - по сути это дополнительная характеристика с собственными реквизитами, которые создают товару вариативность - в моем примере это быд диаметр. Если помимо диаметра вам нужно учитывать варианты типом грубины, то там же создайте еще одну характеристику со своими реквизитами. Например номенклатура - "Сковородка" с тремя диаметрами и 5-ю вариантами глубины. Итого получите 15 позиций с возможно разной ценой на одну позицию номенклатуры. На сайт все придет соответственно. Вот ссылка на мой сайт http://www.100ika.ru/katalog-tovarov/chekhly/chekhol-gravity-avia/
(он в разработке еще)) с товаром с двумя характеристиками - Цвет и Ростовка , у которых собственные реквизиты. На них просто цена одинаковая, но могла быть разной. Таких характеристик можно создать сколько угодно. Например свойство материала (например их три - алюм, чугун, тефлон) для "Сковородки" из примера можно так же внести как доп.хар с реквизитами, тогда получите 45 вариантов на 1 позицию номенклатуры. Причем логика работы с позицией "сковородка" будет идентична как на сайте, так и на Ут11 -
-
-
Новости
-
Вчера, 09:47
-
В преддверии 2025 года была выпущена сборка 7.2.5, которая не приносит радикальных изменений в функциональности, но способствует повышению стабильности работы системы и расширению возможностей облачного сервиса для создания сайтов.
-
18 июня 2024 г.
-
В сборке большое обновление demo-шаблона, дополнительная защита от спама, улучшение YML-импорта и еще много важного и интересного.
-
24 апреля 2024 г.
-
В новой сборке совершили революцию в структурировании кастомизированной информации в шаблонах, добавили авторегистрацию пользователей, усовершенствовали защиту от спама, актуализировали накопительную скидку, а также улучшили производительность и стабильность работы системы.
Блоги
-
24.04.2024
-
Выпустили новую сборку DIAFAN.CMS 7.1.4.
Блоги
-
12.01.2024
-
В данном руководстве познакомим вас с панелью управления DIAFAN.CMS