domstor-project / template-standard
The "Domstor Template Standard" distribution
Installs: 83
Dependents: 0
Suggesters: 0
Security: 0
Stars: 0
Watchers: 1
Forks: 1
Open Issues: 0
Language:CSS
Type:project
Requires
- php: >=7.1
- doctrine/doctrine-bundle: ^1.6
- doctrine/orm: ^2.5
- domstor-project/template-bundle: 1.8.*
- incenteev/composer-parameter-handler: ^2.0
- leafo/scssphp: ^0.6
- patchwork/jsqueeze: ^2.0
- sensio/distribution-bundle: ^5.0.19
- sensio/framework-extra-bundle: ^3.0.2
- symfony/assetic-bundle: ^2.8
- symfony/monolog-bundle: ^3.1.0
- symfony/polyfill-apcu: ^1.0
- symfony/swiftmailer-bundle: ^2.3.10
- symfony/symfony: ^3.3.4
- twig/twig: ^1.6||^2.0
Requires (Dev)
- sensio/generator-bundle: ^3.0
- symfony/phpunit-bridge: ^3.0
README
Требования
PHP>=7.1
Установка
composer create-project domstor-project/template-standard
- Обязательно указать параметр
mailer_user
- Параметр
mailer_request_recipients
вводится в формате ['email@email1.ru', 'email@email2.ru'] - Указать параметр
default_timezone
. Например:Asia/Krasnoyarsk
,Asia/Novosibirsk
- Отредактировать файл
app/AppKernel.php
. В строчкеdate_default_timezone_set('Asia/Novosibirsk');
заменить временную зону на соответствующую введеной в предыдущем пункте - Выставить права на var/logs и var/cache. Подробнее Symfony Documentation.
- Выполнить
php bin/console d:d:c
для создания базы данных - Выполнить
php bin/console d:s:u --force
для обновления схемы базы - Выполнить
php bin/console cache:clear
для очистки кэша - Выполнить
php bin/console fos:js-routing:dump
для выгрузки роутов Symfony в JS - Выполнить
php bin/console assetic:dump
для выгрузки ассетов - Создать папку web/uploads и установить права
sudo chown -R www-data:www-data /path/to/project-folder/web/uploads
sudo chmod -R 755 /path/to/project-folder/web/uploads
- Создать пользователя для доступа к системе администрирования
php bin/console fos:user:create
иphp bin/console fos:user:promote admin_user_name ROLE_SUPER_ADMIN
Настройка
Необходимо настроить DomstorTemplateBundle. Пример настроек:
domstor_template: domstorlib: builder: org_id: 13 #Идентификатор вашей организации в системе Домстор location_id: 2004 #Идентификатор города в системе Домстор. 2004 - Кемерово, 2006 - Новокузнецк, 2236 - Новосибирск cache: type: 'file' #Тип кэширования. Поддерживаются: file, apc, array, xcache, memcache time: 86400 #Время жизни кэша uniq_key: '13' #Уникальный ключ хэша options: directory: '%kernel.cache_dir%' #Директория, где хранится кэш объектов filter: template_dir: '%kernel.root_dir%/../src/AppBundle/Resources/views/Filters' links: #Список населенных пунктов для поиска недвижимости 2004: 'Недвижимость в Кемерово' 43: 'Недвижимость в Кемеровской области' mailer: request: service: 'default' #mailer-сервис, через который будут отправляться сообщения о поступлении новых заявок to: '%mailer_request_recipients%' #Получатели рассылки о новых заявках from: '%mailer_request_from%' #От кого будут приходить заявки subject: '%mailer_request_subject%' #Тема письма для заявки email_template: 'DomstorTemplateBundle:Email:email_request.html.twig' #Шаблон письма title: objects: #Заголовки пунктов для меню недвижимости flat: 'Квартиры' house: 'Дома и коттеджи' land: 'Земля и дачи' garage: 'Гаражи и парковки' office: 'Офисная' trade: 'Торговая' product: 'Производственная' storehouse: 'Складская' landcom: 'Земля' other: 'Прочее' complex: 'Имущественные' objectsHtml: #Заголовки пунктов для меню недвижимости с возможностью использовать html теги flat: 'Квартиры' house: 'Дома<br>Коттеджи' land: 'Дачи<br>Земля' garage: 'Гаражи<br>Парковки' office: 'Офисная' trade: 'Торговая' product: 'Производственная' storehouse: 'Складская' landcom: 'Земля' other: 'Прочее' complex: 'Имущественные' actions: #Заголовки разделов sale: 'Продают' rent: 'Сдают' purchase: 'Купят' rentuse: 'Снимут' exchange: 'Обмен' new: 'Новостройки'
Блоки на главной странице
Все доступные в системе блоки представлены в AppBundle:Home:index.html.twig
{% block content %} {{ sonata_block_render({'type':'domstor.template.block.home.slider.service'}) }} {{ sonata_block_render({'type':'domstor.template.block.home.special_offer.service'}) }} {{ sonata_block_render({'type':'domstor.template.block.home.urgent_sale.service'}) }} {{ sonata_block_render({'type':'domstor.template.block.home.review.service'}) }} {{ sonata_block_render({'type':'domstor.template.block.home.employee.service'}) }} {{ sonata_block_render({'type':'domstor.template.block.home.partner.service'}) }} {{ sonata_block_render({'type':'domstor.template.block.home.vacancy.service'}) }} {{ sonata_block_render({'type':'domstor.template.block.home.post.service'}) }} {% endblock %}
Что бы убрать блок с главной страницы, достаточно удалить строку с его вызовом. В этом случае запросов к БД идти не будет. В системе администрирования, однако, останется возможность добавлять записи в этот блок. По-умолчанию, блок выводит 100 записей. Для того, что бы настроить количество отображаемых блоком записей, необходимо вызвать блок вот так:
{{ sonata_block_render({'type':'domstor.template.block.home.vacancy.service'}, {'count':1}) }}
В этом случае в блоке будет выведена только одна запись.
Существует возможность вывести блок формы поиска недвижимости:
{{ sonata_block_render( { 'type':'domstor.template.block.domstor_filter.service' }, { 'object':'flat', 'action':'sale', 'form_action_route':'app_objects_list', 'filter_template_dir': '@AppBundle/Resources/views/HomeFilters' } ) }}
object
- тип недвижимости, action
- категория, form_action_route
- имя роута страницы поиска недвижимости. filter_template_dir
- опциональный параметр, позволяет указать отдельную папку с шаблонами формы поиска, если не передан этот параметр в блок, то берется значение из domstor_template.domstorlib.builder.filter_template_dir
. Поддерживается указание пути с @.
Статические страницы без контроллера
Существует возможность добавлять статические страницы, без создания контроллера. Достаточно сделать twig-шаблон и прописать необходимые настройки в конфигурацию. В качестве примера используется страница "О компании":
Добавим запись в AppBundle/Resources/config/static_routing.yml
app_static_about: #Название роута для Symfony Routing path: /about #Путь к странице в адресной строке defaults: _controller: FrameworkBundle:Template:template #Обязательная строка для страницы без контроллера template: AppBundle:Static:about.html.twig #Шаблон страницы
Управление отображением разделов в системе администрирования
Существует возможность скрыть раздел из системы администрирования. Все доступные разделы находятся в файле app/config/sonata/admin.yml
. Для того, что бы скрыть раздел, достаточно закомментировать строку.
sonata_admin: security: handler: sonata.admin.security.handler.role title: Кано title_logo: /../bundles/app/images/template/logo.png templates: # default global templates layout: SonataAdminBundle::layout.html.twig dashboard: blocks: # display a dashboard block - { position: left, type: sonata.admin.block.admin_list } groups: domstor_template: keep_open: true label_catalogue: messages items: - domstor.template.admin.slider #Слайдер - domstor.template.admin.special_offer #Специальные предложения - domstor.template.admin.urgent_sale #Срочная продажа - domstor.template.admin.review #Отзывы - domstor.template.admin.employee #Сотрудники - domstor.template.admin.partner #Партнеры - domstor.template.admin.vacancy #Вакансии - domstor.template.admin.post #Новости