domstor-project / template-standard
“Domstor 模板标准”发行版
1.8.0
2018-02-02 09:17 UTC
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 文档。
- 执行
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/uploadssudo 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 #Новости