Как удалить элементы инфоблока битрикс из меню

Видео инструкции:
Подробное описание статьи:
При удалении демо-версии необходимо убрать связанные компоненты, и затем установить готовое решение.
В административной части сайта переходим в Настройки -> Настройки продукта -> Сайты -> Список сайтов. Выделяем демо-версию и нажимаем на крестик под табличной частью.
Но система нам говорит, что пока существуют связанные с сайтом инфоблоки, ничего не получится.
Переходим в Контент -> Инфоблоки -> Типы инфоблоков. В табличной части выделяем все и удаляем.
Появилась ошибка при удалении каталога.
В выпадающем меню у этого инфоблока выбираем «Информационные блоки» и сохраняем.
Переходим в список информационных блоков, которые относятся к каталогу. Выбираем блок с товарами.
Во вкладке «Торговый каталог» снимаем галочку с «Инфоблок имеет торговые предложения».
Возвращаемся к типам инфоблоков и удаляем каталоги.
Далее во вкладке «Магазин» в разделе Заказы удаляем содержимое.
В Магазин -> Настройки -> Типы плательщиков удаляем имеющиеся.
В Рассылки -> Списки рассылок также очищаем табличную часть.
Если имеются форумы, то в Списках форумов также удаляем все элементы.
Возвращаемся к списку сайтов и повторяем попытку удаления.
После успеха нажимаем на кнопку добавления нового сайта.
В открывшемся окне задаем id.
Ставим галочку «По умолчанию».
В региональных настройках устанавливаем русский.
Ставим галочку у Заменить существующее решение при необходимости.
Мы переходим на страницу установки. Выбираем готовое решение.
Устанавливаем галочку на «Установить демонстрационные данные интернет-магазина».
Далее пошагово движемся к завершению установки, указывая необходимые данные.
Инструменты, коллекции, групповые действия / Перекрестные продажи / Аналогичные товары / Аксессуары

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

С помощью модуля легко решаются множество наболевших задач, встречающихся при разработке и эксплуатации сайтов.
Функционал проекта развит и продолжает развиваться опытным путём. Наши специалисты активно используют модуль при реализации или технической поддержке Web-проектов наших клиентов.
Модуль позволит не только в разы упростить работу специалистов, но и при грамотном использовании увеличить продажи. Создание посадочных страниц с помощью «МЕХАНИЗМА КОЛЛЕКЦИЙ», реализация «ПЕРЕКРЁСТНЫХ ПРОДАЖ» (аналогичные, рекомендуемые товары и аксессуары), несомненно, увеличат средний чек интернет-магазина.

. Важно понимать, что модуль – это «ИНСТРУМЕНТ», а не «ПАНАЦЕЯ». Как и со всеми инструментами, им нужно уметь пользоваться. Более подробно технические моменты описаны в документации.
Функциональность модуля.
I. Механизм коллекций – это главный функционал модуля. Он позволяет выполнить множество групповых действий над элементами инфоблоков и решать соответствующие задачи:
- Привязка набора элементов к разделам инфоблока.
- Действие «Перекрестные продажи».
- Групповое действие «Отвязать от разделов инфоблока».
- Групповое действие «Перенести в раздел».
- Групповое редактирование свойств.
- Групповое редактирование значений свойств с заменой макросов.
- Групповое редактирование свойств и запись в них предустановленного массива фильтра.
- Пошаговое удаление элементов инфоблока согласно выборке.
- Пошаговое выполнение произвольного PHP действия над элементами инфоблока согласно выборке.

- создание коллекций, товарных наборов в нужных разделах инфоблока, реализация посадочных страниц;
- массовое заполнение свойств элементов инфоблока;
- массовое удаление товаров;
- массовая очистка свойств;
- массовое заполнение свойств значениями других полей и свойств этого же элемента инфоблока, использование макросов;
- выполнение произвольного действия над группой товаров — PHP действие;
- массовая очистка превью или детального описания;
- автоматизация привязки группы товаров к дополнительным разделам;
- вывод интервалов цен в умном фильтре;
- перекрестные продажи / аналогичные, рекомендуемые, похожие товары / аксессуары.
- автоматическое создание анонсовой и детальной картинок из дополнительных изображений
- Новинки и хиты продаж
II. Расширенные Пункты меню. За основу взят стандартный компонент bitrix:menu.sections. Добавлена возможность задания собственного фильтра и использования дополнительных полей и пользовательских полей раздела, которые несомненно могут пригодиться в меню.

III. Популярность товаров по количеству созданных заказов. Это вспомогательный функционал, при включении данной опции создается служебное свойство в торговом каталоге и происходит подсчет количества, сколько раз каждый товар попал в заказ. Данное свойство может использоваться в публичной части, например, в сортировке товаров «по популярности». (Функционал не учитывает уже созданные заказы)
IV. Популярность товаров по количеству оплаченных заказов. Аналогично функционалу «Популярность товаров по количеству созданных заказов», за исключением, что подсчет ведется по полностью оплаченным заказам. (Функционал не учитывает уже созданные заказы)
V. Автоматическое сохранение минимальной и максимальной цены. Сохраняет цены в служебных свойствах товара «Минимальная цена» и «Максимальная цена» в базовой валюте. Цены актуализируются раз в сутки, согласно сохраненным курсам на сайте (периодичность можно менять, выполняется стандартным агентом).
Дублирование доступного количества в свойства товаров.
VI. Механизм синхронизации инфоблоков.
Позволяет копировать инфоблоки с имеющимися свойствами. разделами, элементами. АВТОМАТИЗАЦИЯ ПРОЦЕССОВ: при добавлении/изменении свойств, элементов, разделов родительского инфоблока, автоматически происходят изменения в дочернем инфоблоке.
VII. ПЕРЕКРЕСТНЫЕ ПРОДАЖИ.
Реализация блоков рекомендуемых, дополняющих или аналогичных товаров в детальной карточке продукта.
VIII. *Автоматическая генерация торговых предложений.
Внимание! Для этой возможности обязательно потребуется дополнительный модуль Генератор торговых предложений (SKU).
ПРЕИМУЩЕСТВА.
- Тематически статьи
- Документация
Остались вопросы? Тогда свяжитесь с нами любым удобным Вам способом.
Сброс управляемого кэша инфоблока
На сегодняшний день создание веб-сайта — это не самое замысловатое задание, с которым только можно столкнуться. Вам не обязательно все возможные детали о веб-хостинге или процессе написания кода, чтобы получить привлекательный и профессиональный ресурс.

Как проверить домен через whois?
Проверка домена на занятость. Whois — как использовать и что можно проверить? Что такое история домена и где её смотреть? Ответы на эти другие вопросы в нашей статье.
Пошаговое удаление элементов инфоблока
Иногда приходится сталкиваться с сайтами, которые размещены на очень слабом хостинге. Если на таком хостинге нужно удалить все элементы инфоблока — тут или удалять напрямую, через базу данных (что не очень хорошо), либо постранично удалять элементы, что тоже муторно:(
Представляю вашему вниманию скрипт, позволяющий настроить автоматическое удаление всех элементов инфоблока с постраничной переборкой элементов в автоматическом режиме:
use Bitrix\Main; use Bitrix\Main\Application; use \Bitrix\Main\Localization\Loc as Loc; use \Bitrix\Main\Data\Cache; require_once($_SERVER["DOCUMENT_ROOT"] . "/bitrix/modules/main/include/prolog_admin_before.php"); require_once($_SERVER["DOCUMENT_ROOT"] . "/bitrix/modules/main/prolog.php"); Loc::loadMessages(__FILE__); if (!Main\Loader::includeModule('iblock')) < die('Module `iblock` is not installed'); >CJSCore::Init(array('jquery')); $POST_RIGHT = $APPLICATION->GetGroupRight("catalog"); // если нет прав - отправим к форме авторизации с сообщением об ошибке if ($POST_RIGHT == "D") $APPLICATION->AuthForm(GetMessage("ACCESS_DENIED")); $context = Application::getInstance()->getContext(); $request = $context->getRequest(); if ($request->isPost() && $request->get('action') && $POST_RIGHT == "W" && check_bitrix_sessid()) < $arResult = array(); $arPostData = $request->getPostList()->toArray(); switch ($request->get('action')) < case 'clearElements': $arSelect = Array("ID", "IBLOCK_ID"); $arFilter = Array("IBLOCK_ID" =>IntVal($arPostData['IBLOCK_ID'])); $maxForStep = 5; $pagesParams = ($arPostData['num'] == 1) ? array('nPageSize' => $maxForStep) : array('nTopCount' => $maxForStep); $res = CIBlockElement::GetList(Array(), $arFilter, false, $pagesParams, $arSelect); $arResult['CNT'] = $res->NavPageCount; global $DB; while ($arFields = $res->GetNext()) < $DB->StartTransaction(); if (!\CIBlockElement::Delete($arFields['ID'])) < $arResult['STATUS']['ERROR'][] = $arFields['ID'] . ' not deleted!'; $DB->Rollback(); > else < $arResult['STATUS']['OK'][] = $arFields['ID']; $DB->Commit(); > // $arResult[] = $arFields; > break; default: print_r($arPostData); > if ($request->isAjaxRequest() && !empty($arResult)) < $APPLICATION->RestartBuffer(); header('Content-type: application/json'); echo \Bitrix\Main\Web\Json::encode($arResult); exit(); > > $APPLICATION->SetTitle('Обработчик элементов информационного блока'); require($_SERVER["DOCUMENT_ROOT"] . "/bitrix/modules/main/include/prolog_admin_after.php"); class clIblockEntitiesProcessor < public static function GetIblockTypes($life_time = 3600 * 24 * 30) < $result = false; $cache_params = array('function' =>'CIBlockType::GetList'); $cache_id = md5(serialize($cache_params)); $cache_dir = __CLASS__; $cache = Cache::createInstance(); if ($life_time < 0) < $cache->clean($cache_id, $cache_dir); > if ($cache->initCache($life_time, $cache_id, $cache_dir)) < $result = $cache->getVars(); > elseif ($cache->startDataCache() && \Bitrix\Main\Loader::includeModule('iblock')) < $db_iblock_type = \CIBlockType::GetList(); while ($ar_iblock_type = $db_iblock_type->Fetch()) < if ($arIBType = \CIBlockType::GetByIDLang($ar_iblock_type["ID"], LANG)) < $arIBType['NAME'] = htmlspecialcharsEx($arIBType["NAME"]); $result[$arIBType['IBLOCK_TYPE_ID']] = array( 'IBLOCK_TYPE_ID' =>$arIBType['IBLOCK_TYPE_ID'], 'NAME' => $arIBType['NAME'], ); > > $cache->endDataCache($result); > return $result; > public static function GetIblockList($filter = array(), $life_time = 3600 * 24 * 30) < $result = false; $cache_params = array('function' =>'CIBlock::GetList', 'filter_params' => $filter); $cache_id = md5(serialize($cache_params)); $cache_dir = __CLASS__; $cache = \Bitrix\Main\Data\Cache::createInstance(); if ($life_time < 0) < $cache->clean($cache_id, $cache_dir); > if ($cache->initCache($life_time, $cache_id, $cache_dir)) < $result = $cache->getVars(); > elseif ($cache->startDataCache() && \Bitrix\Main\Loader::includeModule('iblock')) < $res = \CIBlock::GetList( Array(), $filter, false ); while ($ar_res = $res->Fetch()) < $result[$ar_res['ID']] = array( 'ID' =>$ar_res['ID'], 'IBLOCK_TYPE_ID' => $ar_res['IBLOCK_TYPE_ID'], 'CODE' => $ar_res['CODE'], 'NAME' => $ar_res['NAME'], 'ACTIVE' => $ar_res['ACTIVE'], 'PICTURE' => $ar_res['PICTURE'], 'DESCRIPTION' => $ar_res['DESCRIPTION'], 'DESCRIPTION_TYPE' => $ar_res['DESCRIPTION_TYPE'], 'CATALOG' => \CCatalogSKU::GetInfoByProductIBlock(intval($ar_res['ID'])), ); > $cache->endDataCache($result); > return $result; > public static function GetIblockElementItems( $arParams = array('filter' => array(), 'select' => false, 'sort' => array('name' => 'asc'), 'page_params' => false, 'group' => false), $life_time = 3600) < if (!isset($arParams['filter']) || empty($arParams['filter'])) return false; $arFilter = $arParams['filter']; $arSelect = (isset($arParams['select'])) ? $arParams['select'] : false; $arSort = (isset($arParams['sort'])) ? $arParams['sort'] : array('name' =>'asc'); $pageParams = (isset($arParams['page_params'])) ? $arParams['page_params'] : false; $groupParams = (isset($arParams['group'])) ? $arParams['group'] : false; $result = false; $cache_params = array(); foreach (array_keys($arParams) as $array_key) < if (is_array($arParams[$array_key])) < foreach ($arParams[$array_key] as $key =>$value) < $cache_params[$array_key . '-' . $key] = $value; >> elseif (is_bool($arParams[$array_key])) < $cache_params[$array_key] = $arParams[$array_key] ? 1 : 0; >> $cache_id = md5(serialize($cache_params)); $cache_dir = __CLASS__ . '/' . __FUNCTION__; $cache = \Bitrix\Main\Data\Cache::createInstance(); if ($life_time < 0) < $cache->clean($cache_id, $cache_dir); > if ($cache->initCache($life_time, $cache_id, $cache_dir)) < $result = $cache->getVars(); > elseif ($cache->startDataCache() && \Bitrix\Main\Loader::includeModule('iblock')) < $rsItems = \CIBlockElement::GetList($arSort, $arFilter, $groupParams, $pageParams, $arSelect); if ( is_array($arSelect) && in_array('IBLOCK_ID', $arSelect) && in_array('ID', $arSelect) ) < $filterProperties = array(); foreach ($arSelect as $select) < if (strpos($select, 'PROPERTY_') !== false) < $filterProperties[] = str_replace('PROPERTY_', '', $select); >> while ($arElement = $rsItems->GetNextElement()) < $arFields = $arElement->GetFields(); if (!empty($filterProperties)) < foreach ($filterProperties as $arFilterCode) < if (!isset($arFields['PROPERTIES'])) $arFields['PROPERTIES'] = array(); $arFields['PROPERTIES'] = array_merge($arFields['PROPERTIES'], $arElement->GetProperties(false, array( 'CODE' => $arFilterCode ))); // $arFields['PROPERTIES'][$arFilterCode] = ; > // $arFields['PROPERTIES'] = $arElement->GetProperties(false,array('CODE'=>$filterProperties)); > $result[] = $arFields; > > elseif (empty($arSelect)) < while ($arElement = $rsItems->GetNextElement()) < $arFields = $arElement->GetFields(); $arFields['PROPERTIES'] = $arElement->GetProperties(); $result[] = $arFields; > > else < while ($arElement = $rsItems->GetNext()) < $result[] = $arElement; >> if (!empty($result)) < foreach ($result as $key =>$arItem) < if (!empty($arItem['PROPERTIES'])) < foreach ($arItem['PROPERTIES'] as $pCode =>$arProperty) < $result[$key]['PROPERTIES'][$pCode] = \CIBlockFormatProperties::GetDisplayValue( array('ID' =>$arItem['ID'], 'NAME' => $arItem['NAME']), $arProperty, ''); > > > > if (isset($pageParams) && !empty($pageParams) && $pageParams['nPageSize'] == 1 && !empty($result[0])) < $result = $result[0]; >$cache->endDataCache($result); > return $result; > > $tmp = clIblockEntitiesProcessor::GetIblockList(array('ACTIVE' => 'Y')); $arIblockList = array(); foreach ($tmp as $item) < $arIblockList[$item['ID']] = $item; >// echo ''; print_r($arIblockList);echo '
'; ?>
Таким образом, при первом аякс-запросе скрипт получает информацию о том, сколько всего страниц ему нужно обработать (количество элементов на странице выбирается на основании производительности сервера),а дальше уже проходится по всем страницам и производит удаление.
P.S. Скрипт написан в виде страницы административного раздела сайта
Количество показов: 5203
Если вам была полезна статья можете отблагодарить автора:
Разработка сайта
Подайте заявку на разработку сайта на базе готового решения от компании 1С-Битрикс или одного из партнеров компании. Максимально подробно опишите, чему будет посвящен сайт, если это интернет-магазин - что он будет продавать, нужна ли мультиязычность, будут ли разные типы цен (розница, опт, крупный опт), будет ли интеграция с 1С, будет ли выгрузка товаров на различные торговые площадки.
Заказать разработку сайта
Сопровождение сайта
Вы можете подать заявку на сопровождение вашего сайта на базе 1С-Битрикс. Сопровождение включает в себя: проверка актуальности обновлений сайта, проверка актуальности резервной копии, консультации по сайту. Опишите в заявке, какие еще объемы планируются на сопровождении и на какой срок вы планируете заключить договор на сопровождение - мы подберем подходящий вам бюджет на сопровождение
Подать заявку на сопровождение
Работы по сайту
Вы можете подать заявку на выполнение определенного объема работ по сайту. Опишите в заявке объем работ. Это может быть разработка какого-то нового функционала, доработки по имеющемуся функционалу, доработки под требования сео-специалистов. На основании заявки вам будет сформирован бюджет работ, а также названы сроки на выполнение тех или иных работ.
Подать заявку на выполнение работ
Copyright © pai-bx.com | Попович Алексей. Персональный сайт разработчика, 1986-2024