Перейти к содержимому


Модуль разбросить товар в разные категории

добавить в категорию

  • Вы не можете ответить в тему
Сообщений в теме: 4

#1 anton

    Пользователь

  • Download User
  • PipPip
  • 21 сообщений
Репутация: 0
Начинающий

Отправлено 20 October 2016 - 08:02 PM

Добрый вечер, подскажите если модуль который разбросает указанные товары в нужные категории? а то заходить в каждый товар и отправлять в дополнительную категорию очень долго.
  • 0

#2 eugene_wb

    Продвинутый пользователь

  • Модераторы
  • 827 сообщений
Репутация: 167
Мастер

Отправлено 24 October 2016 - 03:00 AM

Поройтесь по форуму, где то был, или в крайнем случае имхо копеечная доработка
  • 0
Изображение Изображение Изображение

#3 badisoft

    Продвинутый пользователь

  • Assistent vsupport.club
  • PipPipPip
  • 5075 сообщений
Репутация: 786
Мастер

Отправлено 24 October 2016 - 01:04 PM

Окончательный вариант я, похоже, так и не выкладывал (где удалять можно):

Дополнение позволяет в списке товаров добавлять товарам дополнительные категории и удалять товары из дополнительных категорий.

Например, у нас есть категория "Зеленые товары" и мы хотим занести туда как в дополнительную категорию
все товары, имеющие в название слово "зеленый", "зеленая", "зеленое".
Набираем в поиске в админке "зелен" и получаем список товаров с этим вхождением в названии.
Ставим галку у всех нужных товаров, выбираем в выпадающем списке категорию "Зеленые товары" и жмем "Добавить доп.категорию".
Если у товара выбранная доп.категория является основной, то доп.категория, естественно, не добавится.

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

Точно так же работает кнопка "Удалить доп.категорию". Выбираем галкой товары, выбирает категорию, жмем кнопку и у выбранных
товаров эта доп.категория удалится (если она есть).


Установка:
==========

1. в файле catalog_products_categories.php

1.1. вместо строки


if ( isset($_POST["add_command"]) && ($_POST["add_command"]=="prod_off" || $_POST["add_command"]=="prod_on" || $_POST["add_command"]=="prod_dell" || $_POST["add_command"]=="prod_move") )


вставляем


# BEGIN add-addition-category-to-product
#if ( isset($_POST["add_command"]) && ($_POST["add_command"]=="prod_off" || $_POST["add_command"]=="prod_on" || $_POST["add_command"]=="prod_dell" || $_POST["add_command"]=="prod_move") )
if ( isset($_POST["add_command"]) && ($_POST["add_command"]=="prod_off" || $_POST["add_command"]=="prod_on" || $_POST["add_command"]=="prod_dell" || $_POST["add_command"]=="prod_move" || $_POST["add_command"]=="prod_2cat" || $_POST["add_command"]=="del_2cat") )
# END add-addition-category-to-product


1.2. после строки


elseif ( $_POST["add_command"]=="prod_move"){db_query( "UPDATE ".PRODUCTS_TABLE." SET categoryID = ".(int)$_POST["prod_categoryID"]." WHERE productID=".(int)$key);}


вставляем


# BEGIN add-addition-category-to-product
elseif ( $_POST["add_command"]=="prod_2cat")
{
$productID = (int)$key;
$addcatID = (int)$_POST["prod_categoryID"];
$row1 = db_fetch_assoc(db_query("SELECT categoryID FROM ".PRODUCTS_TABLE." WHERE productID=$productID LIMIT 1"));
$row2 = db_fetch_assoc(db_query("SELECT COUNT(*) AS count FROM ".CATEGORIY_PRODUCT_TABLE." WHERE productID=$productID AND categoryID=$addcatID"));
if($row1['categoryID'] != $addcatID && $row2['count'] == 0) db_query( "INSERT INTO ".CATEGORIY_PRODUCT_TABLE." SET productID=$productID, categoryID=$addcatID");
}
elseif ( $_POST["add_command"]=="del_2cat")
{
$productID = (int)$key;
$addcatID = (int)$_POST["prod_categoryID"];
db_query( "DELETE FROM ".CATEGORIY_PRODUCT_TABLE." WHERE productID=$productID AND categoryID=$addcatID");
}
# END add-addition-category-to-product



2. в файле catalog_products_categories.tpl.html

вместо строки


</select>&nbsp;&nbsp;<a href="#" onclick="document.getElementById('add_command').value='prod_move'; document.getElementById('form').submit(); return false" class="inl">Переместить</a></td></tr></table>{/if}


вставляем


{* BEGIN add-addition-category-to-product *}
{*</select>&nbsp;&nbsp;<a href="#" onclick="document.getElementById('add_command').value='prod_move'; document.getElementById('form').submit(); return false" class="inl">Переместить</a></td></tr></table>{/if}*}
</select>
&nbsp;&nbsp;<a href="#" onclick="document.getElementById('add_command').value='prod_move'; document.getElementById('form').submit(); return false" class="inl">Переместить</a>
&nbsp;&nbsp;<a href="#" onclick="document.getElementById('add_command').value='prod_2cat'; document.getElementById('form').submit(); return false" class="inl">Добавить доп.категорию</a>
&nbsp;&nbsp;<a href="#" onclick="document.getElementById('add_command').value='del_2cat'; document.getElementById('form').submit(); return false" class="inl">Удалить доп.категорию</a>
</td></tr></table>{/if}
{* END add-addition-category-to-product *}

  • 0
http://cpu.badisoft.ru (тестовый сайт), http://badisoft.ru (модули)

#4 anton

    Пользователь

  • Download User
  • PipPip
  • 21 сообщений
Репутация: 0
Начинающий

Отправлено 30 October 2016 - 02:43 AM

большое спасибо, завтра попробую установить.
не вышло, при нажатии на категорию выдает - Ошибка 500 Internal Server Error
может урл подскажет почему - admin.php?dpt=catalog&sub=products_categories&categoryID=67&expandCat=67
  • 0

#5 badisoft

    Продвинутый пользователь

  • Assistent vsupport.club
  • PipPipPip
  • 5075 сообщений
Репутация: 786
Мастер

Отправлено 30 October 2016 - 07:00 PM

может урл подскажет почему - admin.php?dpt=catalog&sub=products_categories&categoryID=67&expandCat=67

Это стандартный урл, абсолютно одинаковый как в случае отсутствия ошибки, так и в случае ее наличия.
Выложенное дополнение написаной мной кому-то (извините, не помню кому) за деньги и работает как у клиента, так и у меня на паре сайтов, т.к. оказалось полезным не только клиенту. Т.е. вероятность некорректной инструкции есть, но маловероятна.
Попробуйте платный путь.
Он обычно помогает, но требует денежных затрат.
  • 0
http://cpu.badisoft.ru (тестовый сайт), http://badisoft.ru (модули)