Появилась небольшая задача от контентщика работающего с сайтом на битриксе. Суть ее сводилась к тому, чтобы получить URL всех карточек товара для последующей удобной работы с контентом.
Реализовал ее для общего удобства, следующим образом. Использовал для этого phpMyAdmin и MS Excel. В первом ввел следующий код в поле SQL-запроса
SELECT `b_iblock_element`.`ID`,`b_iblock_element`.`NAME`, `b_iblock_element`.`CODE`, `b_iblock_section`.`CODE` FROM `b_iblock_element` LEFT JOIN `b_iblock_section` on `b_iblock_section`.`ID` WHERE `b_iblock_element`.`ACTIVE` ='Y' AND `b_iblock_element`.`IBLOCK_ID` = '1' AND `b_iblock_section`.`ID`= `b_iblock_element`.`IBLOCK_SECTION_ID`
И получаю нужный мне результат, но это еще не все теперь эти данные нужно перегнать в эксель. Для этого тыкаем на кнопку Export находящуюся под результатами
И вторым шагом будет сохранение в нужный мне формат
Все теперь все данные получены. Осталось дело за малым подготовить — документ для работы контент-менеджера. И так приступим открываем MS Excel
Тут есть маленькая загвоздка, если просто открыть файл CSV в экселе то будет кривая кодировкаи непонятное разбиение по столбцам, обходим это так:
- Переходим в пункт меню — данные
- Затем выбираем «из текста»
- Выбираем нужный файл и жмем на кнопку Импорт
Затем выбираем настройки как указано на картинке: с разделителями — точка с запятой и кодировку — юникод
Жмякаем Далее, потом кнопку Готово и вуаля получили что хотели.
С получившейся информацией очень удобно и легко работать. Во первых можно фильтровать по разделам. Во вторых при помощи функции СЦЕПИТЬ() построить полный урл, делается это так.
=СЦЕПИТЬ("http://belye-site.ru/catalog/";D1;"/";C1;"/";)
В третьих можно расширить выборку и придумать что-то еще. Все что в принципе и требовалось я сделал. Так как задача выполнена сворачиваюсь)
Всем спасибо за внимание. Если кому-то что-то нужно, не стесняйся стучись в соц сети или на почту)
И еще одна полезная выборка из таблицы: ID — Название — Цена — URL
SELECT `b_iblock_element`.`ID`,`b_iblock_element`.`NAME`,`b_catalog_price`.`PRICE`, `b_iblock_element`.`CODE`, `b_iblock_section`.`CODE` FROM `b_iblock_element` LEFT JOIN `b_iblock_section` on `b_iblock_section`.`ID` left join `b_catalog_price`on `b_catalog_price`.`PRODUCT_ID` WHERE `b_iblock_element`.`ACTIVE` ='Y' AND `b_iblock_element`.`IBLOCK_ID` = '1' AND `b_iblock_section`.`ID`= `b_iblock_element`.`IBLOCK_SECTION_ID` AND `b_catalog_price`.`PRODUCT_ID` = `b_iblock_element`.`ID`