Html карта сайту для 1с-бітрікс, компонент для побудови карти сайту

Html карта сайту для 1с-бітрікс, компонент для побудови карти сайту

Ні, ну серйозно, Бітрікс, що за справи? Я розумію, що пріоритетне, звичайно, саме xml карта сайту для роботів. Але оптимізатори чомусь не перестали просити встановлювати карти сайту і для людей. Ви вважаєте, що по меню можна дійсно побудувати гідну карту сайту? Плутанина ж буде дика.







Є онлайн-сервіси по генерації таких карт сайту, ось тільки генерують вони їх в основному по тайтла. Та й обмеження у них стоїть на 500 посилань. Так що для серйозних проектів подібні інструменти не підходять.

опис компонента

Компонент вибудовує карту сайту на основі обраних Інфоблоки і статичних розділів сайту.

У шаблоні за замовчуванням спочатку йде головна сторінка, потім все статичні розділи, і в кінці вже вміст Інфоблоки: розділи і елементи.

Html карта сайту для 1с-бітрікс, компонент для побудови карти сайту

У компоненті спочатку встановлений мінімальний список з папок, які не будуть оброблятися картою сайту: bitrix, upload, search, cgi-bin, images. Ви можете доповнити його як захочете.

По інших папках буде проведений рекурсивний обхід, в якому буде перевірятися, чи є в папці index.php. Якщо такий є, значить це статичний розділ і він буде включений в карту сайту. Як анкора для посилання буде використано назву розділу.

установка компонента

Тут все дуже просто:

Html карта сайту для 1с-бітрікс, компонент для побудови карти сайту

У вас з'явиться новий розділ alittlebit.ru з компонентом HTML карта сайту всередині.

Html карта сайту для 1с-бітрікс, компонент для побудови карти сайту






Далі використовуєте його як будь-який інший компонент.

Я можливо ще буду в подальшому його доопрацьовувати, поки Бітрікс не випустить чогось більш-менш адекватного. Але поки цього функціоналу мені вистачає з лишком.

UPD 31.07.15: Виявлена ​​і виправлена ​​помилка обходу скриптом деяких файлів.

UPD 05.10.15: Мій колега, Роман, допрацював карту сайту - зробив висновок фізичних розділів у вигляді древа.

UPD 13.01.17: Виправлені проблеми побудови коректного древа на базі вкладеності урлов. Плюс прибрано дублювання назв пунктів атласу сайту і відсутність назв пунктів, якщо у розділу не прописано назви в .section.php. Замість цього тепер виводиться "Без назви", щоб ви могли легко зрозуміти, де упущення, зайти в папку і назвати розділ потрібним чином.

Вітаю! Якщо ви все зробили по інструкції, то компонент повинен без проблем з'явитися у вас в списку компонентів. Скажіть, в ви поклали папку з компонентом в "корень_сайта / bitrix / components /" або в "корень_сайта / bitrix / templates / ваш_шаблон / bitrix / components /?

Спасибі розібрався. Поклав компонент в "корень_сайта / bitrix / templates / ваш_шаблон / bitrix / components /, потім перекинув в" корень_сайта / bitrix / components / "і все запрацювало. З настройками розібрався, все банально просто, спасибі за компонент! =)

Ну і славно =) Всегда пожалуйста!

Добридень! Не можу додати папку alittlebit.ru в папку / bitrix / components /. Підкажіть, як це зробити?

Привіт, Вікторія! А в чому проявляється неможливість додати папку? Яким чином ви це робите? Як варіант, у вас, у папки bitrix або у папки components, що не виставлені відповідні права (CHMOD). Спробуйте змінити їх на 0755, і вже потім знову закиньте туди папку alittlebit.ru. Ще один варіант - у вас недостатньо місця на диску. Як один з варіантів вирішення можу запропонувати через адмінку Бітрікс закачати архів з компонентом в папку bitrix / components і там же, через адмінку, розпакувати його.

Вітаю! На здоров'я! =)

Вітаю! Відмінна ідея компонента, спасибі. Ось тільки чомусь працює не зовсім коректно. По-перше, папки-виключення чомусь не були проставлені по дефолту. Ну це нестрашно. Але ось галочка "Якщо в Інфоблоки є розділи, включити в карту сайту елементи цих розділів" чомусь не дає результату (елементи Інфоблоки виводяться взагалі, [CHILD] в масиві $ section порожній), може проблема в якихось особливих настройках доступу до Інфоблоки? Ну а список статичних розділів теж вивів чомусь упереміш.

Вітаю! Відмінна ідея компонента, спасибі. Ось тільки чомусь працює не зовсім коректно. По-перше, папки-виключення чомусь не були проставлені по дефолту. Ну це нестрашно. Але ось галочка "Якщо в Інфоблоки є розділи, включити в карту сайту елементи цих розділів" чомусь не дає результату (елементи Інфоблоки виводяться взагалі, [CHILD] в масиві $ section порожній), може проблема в якихось особливих настройках доступу до Інфоблоки? Ну а список статичних розділів теж вивів чомусь упереміш.

Привіт, Олександра! Перепрошую за невчасну відповідь. Оновив компонент карти сайту, замініть їм ваш поточний компонент, будь ласка (не забудьте про шаблон). Тепер розділи будуються коректно (так, була така проблема раніше). А з приводу порожнього CHILD можу лише припустити, що у вас деактивовані розділи або елементи, так як в карту сайту потрапляють тільки активні записи з Інфоблоки.

Вітаю! Як виключити дочірні розділи залишивши батьківські?

Вітаю! Перепрошую за таку пізню відповідь. На жаль, в поточній версії виключити дочірні розділи не можна. Можливо в майбутньому я перероблю механізм і розширю функціонал =)