Натяжка верстки сайта на Битрикс. Интеграция шаблона сайта
Прилетела задачка. Необходимо натянуть готовую верстку сайта услуг на битрикс редакции Стандарт. В этой статье напишу, как подготовить шаблон сайта, а по компонентам и необходимому функционалу отдельно оставлю ссылки на другие статьи, дабы не растягивать статью. К ней всегда можно вернуться, если прилетит другая задача по интеграции верстки, и вспомнить порядок действий

Интегрируем шаблон сайтана битрикс
Подготавливаем путь для файлов шаблона, где будут лежать все файлы верстки, компонентов, языковые файлы, header.php и footer.php и остальные нужные проекту файлы Путь будет такой /local/templates/main/ Папку с шаблоном назовем «main» Работать будем с папкой local, а bitrix трогать вообще не будем. Разделим верстку страницы в битрикс на три части.
- Первую положим в header.php
- Вторую положим в index.php
- Третью положим в footer.php
Файлы header.php и footer.php будут подключаться на каждой странице сайта, а index.php будет у каждой странице свой.
header.php
В файле /local/templates/main/header.php понадобятся следующие записи
- if(!defined(«B_PROLOG_INCLUDED») || B_PROLOG_INCLUDED!==true)die(); Данная строчка указывается в начале файла, для секюртости. Чтобы не могли открыть данный файл на прямую из браузера, без подключения ядра битрикса
- IncludeTemplateLangFile(__FILE__);Подключаются языковые файлы для шаблона
- $APPLICATION->ShowTitle();Отображение заголовка страницы из $APPLICATION->SetTitle(«title»)
- $APPLICATION->ShowHead();Выводит необходимый функционал в head
- $APPLICATION->SetAdditionalCSS(SITE_TEMPLATE_PATH.»/css/index.css»);Подключается к шаблону файлы стилей, например для объединения
- $APPLICATION->ShowPanel();Подключает панель битрикса
- SITE_TEMPLATE_PATH;Содержит путь до шаблона, без последнего слеша, в частности /local/templates/main
- $APPLICATION->ShowTitle(false);Отображение заголовка страницы из $APPLICATION->SetPageProperty(«title»)
- $APPLICATION->GetCurPage(false) === ‘/’;Необходим, если главная страница отличается от внутренней по верстке
footer.php
В файле /local/templates/main/footer.php понадобятся следующие записи
- if(!defined(«B_PROLOG_INCLUDED») || B_PROLOG_INCLUDED!==true)die();Рассмотрено выше
- IncludeTemplateLangFile(__FILE__);Рассмотрено выше
- $APPLICATION->AddHeadScript(SITE_TEMPLATE_PATH.»/js/index.js»);Подключается к шаблону файлы скриптов, например для объединения
- SITE_TEMPLATE_PATH;Рассмотрено выше
- $APPLICATION->GetCurPage(false) === ‘/’;Рассмотрено выше
description.php
В файле /local/templates/main/description.php понадобятся следующие записи
- if(!defined(«B_PROLOG_INCLUDED») || B_PROLOG_INCLUDED!==true)die(); //Рассмотрено выше
- IncludeTemplateLangFile(__FILE__); //Рассмотрено выше
- $arTemplate = Array(«NAME»=>GetMessage(‘T_DEFAULT_DESC_NAME’), «DESCRIPTION»=>GetMessage(‘T_DEFAULT_DESC_DESC’)); //Записываем имя шаблона и описание. T_DEFAULT_DESC_NAME и T_DEFAULT_DESC_DESC их значения лежат в языковых фалах в виде $MESS [‘T_DEFAULT_DESC_NAME’] = «Главный шаблон»;.
index.php
В файле /index.php понадобятся следующие записи
- require($_SERVER[«DOCUMENT_ROOT»].»/bitrix/header.php»); //Подключение шапки
- require($_SERVER[«DOCUMENT_ROOT»].»/bitrix/footer.php»); //Подключение подвала
.section.php
В файле /.section.php понадобятся следующие записи
- $sSectionName = «Webpack app»; //Имя раздела в админ панели
- $arDirProperties = array(«title» => «Webpack app», «description» => «», «keywords» => «», «robots» => «»); //Свойства раздела,используются как $APPLICATION->SetPageProperty(«title»)
Другие файлы и папки
В папке шаблона /local/templates/main/ также размещаются другие необходимые для работы файлы и папки
- components папка с компонентами -> bitrix пространство имен -> menu название компонента -> top имя шаблона -> template.php и др файлы компонента
- css -> index.css и другие файлы со стилями
- fonts ->файлы со шрифтами
- img ->файлы с изображениями
- include ->файлы подключаемые с помощью компонента $APPLICATION->IncludeComponent(«bitrix:main.include», «», Array(), false);
- js -> index.js и другие файлы со скриптами
- lang -> en/ru -> description.php и другие файлы соименные файлы, где необходимо используется конструкция вида GetMessage(‘T_DEFAULT_DESC_NAME’)
Подключение необходимых компонентов и другого функционала для окончанительной интеграции верстки на битрикс
На этом проекте были использованы следующие компоненты и функционал
- Подключаем логотипы, текст, контакты и другую свободную для редактирования информацию через «режим правки» в отдельные файлы с помощью bitrix:main.include
- Вывод одноуровневого меню, компонет bitrix:menu
- Вывод списка новостей, компонет bitrix:news.list
- Вывод всех элементов и разделов, компонент bitrix:catalog.sections.top
- Выводим статичные блоки section в отдельные подключаемые файлы, $APPLICATION->IncludeFile();
- Настройка страницы 404.php
- Настройка и вывод стандартных SEO данных из инфоблока
- Настройка детальной страницы через urlrewrite
P.S. чтобы все работало необходимо подключить созданный шаблон в админке сайта. По правде говоря все то, что я тут пишу — это порядок действий по натяжки верстки на битрикс для меня, при выполнении однотипной задачи, чтобы не держать все в голове.
Работаю © 2012 — 2023 год
Все права защищены
Навыки и умения Знание PHP5, MySQL, JS, HTML5, CSS3. Работа с технологиями XML, AJAX, GIT, SOAP Большой опыт взаимодействия с сервером. Работа с 1C-BITRIX FRIMEWORK, BITRIX24
Пашков Антон
Web developer
Специалист 1С-Битрикс
Email apashkof@yandex.ru
Как научится понимать Bitrix за один вечер?
После передачи нужных файлов, выяснилось что сайт стоит на битриксе (об этом никто из нас двоих не знал, т.к заказчик в этом не бумбум, а ТЗ составлял видимо прошлый верстальщик).
В битриксе ни разу не работал, но заказ уже висит и получить отрицательный отзыв желания нет.
В общем нужна статья или просто какая нибудь документация для чайников (а именно для чайников, ибо официальную документацию за ночь не прочтешь, да и не поймешь тем более), пошаговые уроки и т.д.
Вникать во всю систему мне не обязательно, только лишь знать как работать с шаблоном, что куда ведет, и как все устроено.
Время на теорию у меня всего один вечер (а скорее всего ночь).
- Вопрос задан более трёх лет назад
- 2323 просмотра
3 комментария
Средний 3 комментария

В Bitrix легче всего работать через режим правки — всегда можно с легкостью выяснить какой файл необходимо править для натяжки верстки. В начале идёт очень туго, а потом может даже понравиться.
Посмотрите что предлагает сам Битрикс для интеграции дизайна https://dev.1c-bitrix.ru/learning/course/?COURSE_I.
Ваши основные файлы — это header.php, footer.php и template_style.css в папке templates, а также файлы template.php и style.php в папках компонентов.
Проще всего — сделать копию шаблона используемого и подключить его отдельно по условию (get-параметр или ваш IP)

Ну что? Как вечер и ночь прошли?

Ну че спустя 10 дней? получилось? 🙂
Решения вопроса 0
Ответы на вопрос 3

maksfedorov.ru
Найдите подходящий скринкаст на Ютубе
Ни пуха ни пера вам — для верстальщика это будет испытание:)
Там не все так просто, как с обычными легкими цмс, у которых есть шаблоны
Время на теорию у меня всего один вечер (а скорее всего ночь).
Помимо Битрикса вам нужно изучить методологии разработки, в частности ФФФ, где подразумевается ТРЕЗВАЯ оценка и договоренность по времени с запасом, чтобы не планировать ВПРИТЫК (я молчу про дичайший дедлайн в один вечер), тк в ее основе лежит принцип:
«Всегда пойдет все не так, как задумал, тк живем среди живых людей и что-то обязательно сдвинет сроки«
— Пообещали сделать за вечер и сделали за вечер — всего лишь выполнили обещанное (хотя вам это много стоило)
— Пообещали за вечер и сделали за 3 — вы облажались в 3 раза
— Пообещали сделать за неделею и сделали за вечер или за 3 — вы супер обслужили быстрее в разы и потрясли заказчика
Выбирайте
Ответ написан более трёх лет назад
Нравится 13 1 комментарий
Denir0 @Denir0 Автор вопроса
Спасибо) Саму верстку по договору начинаю с завтрашнего дня, но битрикс вынудил начать работать уже сейчас.

Прокрастинация
Перво наперво настойчиво рекомендую сообщить об этом заказчику, саму верстку выполнить в полном объеме согласно принятому описанию заказа, а далее предложить варианты заказчику. Либо вы заканчиваете полностью просто верстку статичных html для последующей интеграцией специалиста по bitrix в саму систему, либо вы сами берете на себя эти доработки но с условиями расширения времени заказа (и может быть оплаты).
Вашей вины в том что заказчик полностью не описал задачу нет, но и самого заказчика конечно же полностью в этом винить нельзя и будет по честному для заказчика как можно быстрее ему сообщить о проблеме и наиболее легкие пути выхода для всех сторон.
Если там человек адекватный, он оценит честность и думает пойдет вас на встречу если вы аргументировано обоснуете иные сроки или иные условия выполнения заказа.
Ну и в крайнем случае можно закрыть заказ по согласовыванию сторон, если же он подаст жалобу, то у вас тоже есть право жаловаться на условия ТЗ, в которых не было раскрыта истинная сложность задания.
И еще раз повторю, я настоятельно рекомендую быть прежде всего честным с заказчиком, а не стараться сделать то что у вас очень может быть не получится и таким образом неожиданно для заказчика сорвать сроки/качество продукта. Поэтому лучше как можно раньше предупредить, чтобы человек тоже скорректировал свои планы и оценил вашу честность.
Ответ написан более трёх лет назад
Комментировать
Нравится 10 Комментировать

1. Стоит сделать себе копию сайта.
Править Битрикс на живом сайте человеку, который в нем не разбирается — весьма рискованно и чревато.
2. Вам обязательно нужен административный доступ к сайту, иначе вы не сделаете ничего в принципе.
3. Основной шаблон — делаете копию папки, которая используется сейчас (какая-то из /bitrix/templates — какая именно, смотрите в админке). Там правите основные два файла — header.php и footer.php, прописываете стили в .css файлах, туда же сваливаете нужные для дизайна картинки.
4. Дальше идете по всем подряд страницам и смотрите, где, кроме основного шаблона, используются компоненты (там останется старый дизайн). Ходите администратором, включив в верхней панели «режим правки». Он позволяет увидеть, где какой подключен компонент и шаблон к нему.
Важно! Не правьте шаблоны, если они не в вашей папке! Сначала скопируйте (все тот же режим правки позволяет это сделать).
5. Учите РНР, если еще не знаете. Придется.
Ну, и удачи. Привет от скряги Авгия.
Ответ написан более трёх лет назад
Комментировать
Нравится 2 Комментировать
Ваш ответ на вопрос
Войдите, чтобы написать ответ

- 1С-Битрикс
Можно ли добавить в head значение rel=»canonical» href=»(тут данные из свойства элементов инфоблока)»?
- 1 подписчик
- 50 минут назад
- 2 просмотра
Создание сайта на битрикс для новичков. | Натяжка верстки bitrix. | Перенос верстки на шаблон. | #4

Продолжаем работать и изучать CMS Битрикс. В этом уроке мы будем интегрировать наш шаблон, натягивать готовую верстку на Битрикс.
На прошлом уроке мы создали папку с темой. Подключили футер и хедер. А контент, папка index.php (главный файл), остался без изменений. Напомню, что футер и хедер подключаются идентично, из активной темы.
Продолжим. Переносим шаблон в корень сайта.

Шаг 1: Разбивка макета на элементы
Заходим в макет и открываем следующие папки.

Из файла index.html следует скопировать код полностью и перенести в index.php вместо «контент» (5строка). В дальнейшей работе index.html не понадобится — закрываем.
Подготовим футер и хедер. Из файла header.php удаляется 5 строка – «Хедер!»; из fоoter.php — 4 строка, «Футер». После обновления шаблон выглядит как на слайде.

Так как ничего не подключено (стили, скрипты), страница получила такое оформление.

Рассмотрим шаблон более детально. Откроем исходный код: левой кнопкой мышки — выпадающее меню «исследовать объект». Выводится код шаблона из трех элементов: футер, хедер и контент.

Первоочередная задача – разбить макет правильно и разнести соответствующие фрагменты кода шаблона по нужным файлам. Код можно копировать через вкладку «исследовать объект» или работать в index.php, куда ранее был скопирован код шаблона.

Обращаю внимание, что хедер часто содержит картинки и видео. Следует убедиться, что элемент скопирован полностью. В данном шаблоне копируем код с 7 до 90 строчки включительно. Переносим информацию в файл header.php, из файла index.php удаляем.
Аналогично переносим код в файл fоoter.php – копируем с 68 по 96 строку включительно. Из index.php вырезаем ненужный фрагмент. Сохраняем все изменения. На странице видимых изменений не произойдет, а значит все подключено правильно.
Футер и хедер закрываем. Эти элементы едины для всех страниц – будут выглядеть одинаково на каждой странице.
Шаг 2: Выводим Title
На начальном этапе title выводится из шаблона, а должен — из CMS.

Редактируем код, начиная с 13 строке. Открываем php без эхо, так как объект APPLICATION в любом случае будет выводиться.

Вызываем ShowTitle у объекта APPLICATION – и проверяем результат.
ShowTitle(); ?>
Шаг 3: Подключаем стили
Редактируем код с 14 строчки по 18-ю до строчки 19 – «/head».
Открываем php код, прописываем addCss. Чтобы не писать постоянство имен для каждого стиля, импортируем путь при помощи метода use. То есть параметру переданному методу прописываем путь к скрипту. Также прописывается константа SITE_TEMPLATE_PATH, которая возвращает путь к активному шаблону, чтобы Битрикс понимал, что и где лежит. И добавляем путь к стилю. В данном случае используется 4 стиля – копируем код и прописываем соответствующий путь. Не забываем поставить итоговый слеш. Код, обозначенный синим маркером, после редактирования следует удалить.

Ниже готовая подсказка. Замените содержимое строк 14-18 готовым кодом ниже.
ShowTitle(); ?> addCss(SITE_TEMPLATE_PATH . "/css/normalize.css"); Asset::getInstance()->addCss(SITE_TEMPLATE_PATH . "/css/owl.carousel.min.css"); Asset::getInstance()->addCss(SITE_TEMPLATE_PATH . "/css/main.css"); Asset::getInstance()->addCss(SITE_TEMPLATE_PATH . "/css/responsive.css"); ?>
Также следует перенести содержимое темы (видео, картинки и т.д) в папку teh.

Шаг 4: Адаптируем под мобильные устройства
Выводим meta name=veiwport – метатег, позволяющий контролировать видимую область сайт для мобильных браузеров. Простым языком: позволяют приспособить сайт для удобного просмотра при помощи мобильного телефона и других гаджетов с разным разрешением экрана.
10-12 строки удаляются. Отредактированный код вставляем после шрифтов. Также используем метод Asset но вместо addCss пописываем addString — выводит произвольный код, произвольную строчку, скрипты. Копируем код макета. Вторая строка для Интернет-Экспл.

addString(''); Asset::getInstance()->addString(''); ?>
Таким же способом подключаются шрифты Google Fonts. В скобках ставится Google Fonts и прописывается ссылка. Напоминаю, что двойные кавычки главнее одинарных.
Команда APPLICATIOH — Show – выводит все шрифты, стили, скрипты. Метод обязателен, иначе на странице ничего не появится.

Шаг 5: Подключаем скрипты
ShowHead(); ?>
Часть скриптов находится в футере. Из хедера копируем код, при помощи которого подключались стили. Находим исходный код скриптов, вставляем ниже. Прописываем команду Js (красный маркер), копируем ссылку из кода выше. Первоначальный фрагмент шаблона со скриптами можно удалить.
Обязательно команда APPLICATIOH – Show (зеленый маркер), так как в данном случае скрипты находятся в футере и хедере, хотя обычно подключаются из футера.

Чтобы получить прокрутку, можно добавить больше картинок в файл index.php.
Шаг 6: Как вывести изображение и подключить логотип
Появился макет, но без картинок и видео. Есть бетафоны, подключились скрипты выпадающего меню. Чтобы вывести картинки, копируем константу и прописываем в каждом изображении после главных кавычек. Не забываем о слеш.

Также выводим изображения в футере и логотип.

Шаг 7: Как отобразить видео
Видео находится в хедере – 92 строка. Путь прописан настолько нестандартно, что даже у опытных пользователей могут возникнуть серьезные затруднения. Константа вставляется после двоеточия.

Шаг 8: Подключение рабочей панели Битрикс
Конечно, можно войти в админку Битрикс, но пропишем в коде. За подключение панели отвечает метод APPLICATIOH – Show Panel. Вставим код после «body»-32 строка.

ShowPanel();?>
После обновления появится окно для входа администратора. Переходим по вкладке «Сайт» — рабочая панель появилась.

Еще раз о необычных методах Битрикс. На первый взгляд исходный способ подключения стилей, шрифтов и скриптов намного проще и понятнее. Но Битрикс «просит» специальный код и все объединяет в один документ. Как указано в документации, такой способ позволяет загружать сайт намного быстрее.
Чтобы окончательно разобраться в принципе работы Битрикс, рассмотрим код страницы через google. Копируем адрес сайта, заходим через Гугл, в выпадающем меню левой кнопки мышки выбираем «просмотреть код страницы».
Нет подключений к нескольким стилям по одному файлу для каждого вида элементов. Если перейти по ссылке, мы увидим как все стили сбиты в кучу, нет привычного разделения. То есть Битрикс не обращается к нескольким файлам, а использует только один.

Для правок такая оптимизация достаточно неудобная. На рабочей панели во вкладке «Настройки» — «настройка модулей» есть возможность отключить объединение элементов в один документ.


На момент разработки можно оставить разделение. Так как править и искать стили достаточно проблематично. После изменения настроек мы увидим все стили отдельно.

Шаг 9: Отключаем кеширование
В левом боковом меню пункт «Автокеширование». Опция также способствует ускорению сайта. На начальном этапе отключаем функцию, хотя могут возникать некоторые неудобства.



Во время разработки сайта будет много изменений, так кеш не будет накапливаться.
Шаг 10: Как создавать страницы и разделы
На админпанели Битрикс перейти на вкладку «Сайт» — «Создать страницу», в выпадающем меню выбираем соответствующий пункт. В появившемся окне вводится имя страницы. Зеленым обозначено имя файла этой страницы в корне сайта через Файлзилла.

Нажимаем «Далее», в следующем окне ничего не заполняем и кликаем «Готово». Откроется окно редактирования страницы.


На панели инструментов содержится ряд опций для редактирования текста. Мы уже рассматривали выборочно возможности этого окна, и будем останавливаться более детально в следующих уроках. На данный момент пока ничего не размещаем, оставляем текст образец (в зеленой рамке).
По идентичному алгоритму создается новый раздел. В описание раздела ничего не меняем, остается стандартный текс. В зеленой рамке имя папки в Битрикс (прописывается автоматически).

Соответствующий файл и папку теперь можно найти в корне сайта через FileZilla.

Смотрим код страницы.

Все элементы страницы подключились, мы все сделали правильно. Визуально страница должна выглядеть так.

Данный урок можно по праву считать одним из самых сложных и важных этапов создания сайта, а также Вашего обучения. Мы натянули верстку на Битрикс и разобрались с основными командами. В дальнейшем будем дорабатывать шаблон, добавлять новости и разделы, впереди еще больше полезных уроков и ценной информации. Пишите в комментариях вопросы, пожелания, а так же о своих трудностях. Будем разбираться вместе. Спасибо.
Верстка сайта на Битриксе по всем правилам искусства
Верстка — это процесс создания страниц будущих газет, книг, журналов и других печатных материалов. Таково первоначальное определение этого слова. Для получения готовой сверстанной страницы текстовые и графические элементы компонуют в соответствии с поставленной задачей. Со времен клише, марзанов и другого устаревшего полиграфического оборудования технологии претерпели значительные изменения, однако цель осталась прежней.
Компьютерная верстка — это разработка макета страницы с использованием специального программного обеспечения. Ее вид «верстка веб-страниц» — один из этапов создания сайта. В результате этой работы дизайн-макет превращается в готовые веб-страницы, которые можно открыть в браузере.
Верстка шаблона для Bitrix представляет собой более сложный процесс, который не ограничивается созданием кода веб-страниц на языке разметки и ее оформлением с помощью каскадных таблиц стилей (CSS). Верстальщику также предстоит привести результат этих работ в готовый шаблон для «1С-Битрикс», который должен отвечать ряду требований.
Какой должна быть качественная верстка?
Перечислим основные требования:

- Кроссбраузерность. Это значит, что сверстанный макет должен одинаково правильно отображаться во всех известных браузерах. Сегодня к ним в первую очередь относятся Internet Explorer, Mozilla Firefox, Google Chrome и Opera. Верстальщикам рекомендуется воздерживаться от использования тегов и свойств, которые поддерживаются только некоторыми браузерами.
- Валидность. Под этим термином следует понимать соответствие стандартам W3C. Любой сайт можно проверить http://validator.w3.org/ через сервис, чтобы определить его валидность.
- Семантическая верстка. Это означает, что все теги и элементы страниц применяются строго по назначению. Например, свойство background-image используется для изображений, не несущих смысловой нагрузки, списки оформляются с помощью
- ,
и-
, цитаты — с , заголовки — с , , и т. п.
- Читаемость контента при отсутствии изображений. Для этого нужно не забывать прописывать background-color, чтобы при отсутствии картинок текст не оказался нечитаемым из-за одинакового с фоном цвета (его, кстати, следует описывать всегда, даже если он белый).
- Понятный код. Нет ничего хуже кода, не разбитого на блоки должным образом, непонятных названий классов, идентификаторов и полного отсутствия каких-либо комментариев. Аккуратного верстальщика всегда легко распознать по его коду — header, left_menu, news — это признаки правильного подхода к делу.
- Компактный код. Это требование можно назвать второстепенным, однако оно относится к явным показателям высокой квалификации верстальщика.
- Правильное использование CSS-хаков. Это значит, что они должны быть прокомментированы, чтобы следующий верстальщик смог разобраться, зачем и для какого браузера они предназначены. А еще лучше, когда разработчик макета использует CSS browser selector.
- Разделение HTML-кода на блоки. Это опять-таки забота автора о тех, кто будет работать над макетом после него. и — хорошая привычка хороших верстальщиков.
- Минимальное использование JavaScript. Да, JS — это удобно, но лучше им не злоупотреблять. А если его много, то лучше выносить скрипты в отдельные файлы.
- Обязательное использование минимальной и максимальной ширины для резиновой верстки. Вы же не хотите, чтобы ваш сайт отображался везде по-разному?
Верстка сайта на CMS Bitrix от InternetTraffic
Заказывая у нас эту услугу, вы можете проверить результат нашей работы по всем перечисленным пунктам — мы не боимся этого, потому что давно работаем с «Битрикс» и отвечаем за качество. Закажите верстку шаблона «Битрикс» в InternetTraffic, и вы получите качественный макет, с которым у вас никогда не возникнет проблем.
Наши условия
Наша команда давно работает с CMS Bitrix. Ниже указаны примеры наших работ с указанием стоимости и сроков (за сайт «под ключ»).
При оценке проекта мы придерживаемся следующих правил:
- Под конкретные задачи нужно по возможности подобрать решения разной ценовой категории, чтобы у клиента был выбор.
- Цена должна зависеть от сложности выполнения работ, а не кошелька клиента.
- Оценивать следует каждый этап работ в отдельности, чтобы клиенту было понятно, за что он платит.
- Разделять оплату на несколько частей для удобства и страховки клиента.
А с недавних пор мы решили избавиться от тарифов на веб-разработку. Ведь, если говорить честно, любая заявка на создание сайта предполагает выяснение задач и подбора индивидуальных решений, из которых вытекают 3 фактора, указанные выше.
Итак, если у Вас есть задача для нас, то заполните форму ниже и мы её оценим. Не забудьте указать почту, на которую мы вышлем наше предложение, — и телефон для уточняющих вопросов.
Будем рады видеть Вас среди наших клиентов!
Примеры созданных нами сайтов

Ultima

Маркет оборудование 2

Форум малых музеев

Разночинный Петербург

Гоголь Хауз

Мастер 178

Dr. Nefedeva Svetlana A.

Идеал

Сдать/Снять СПб

Prosto Petro Group