nitra / e-commerce-site-reviewbundle
此包已废弃,不再维护。未建议替代包。
审查包
v1.0
2014-09-19 18:27 UTC
This package is auto-updated.
Last update: 2018-04-17 12:30:40 UTC
README
配置
为了让此包工作,您需要将以下内容添加到您的 app/config/config.yml 配置文件中:
# app/config/config.yml
twig.extension.intl:
class: Twig_Extensions_Extension_Intl
tags:
- { name: twig.extension }
导入路由
导入路由
# app/config/routing.yml
nitra_review:
resource: "@NitraReviewBundle/Resources/config/routing.yml"
prefix: /
导入路由
# app/config/parameters.yml
parameters:
# способ авторизации (какие поля нужны для ввода отзыва):
# nitraAuth - с помощью бандла NitraAuth
# userName - для отправки сообщения требуется только имя пользователя
# userNameAndEmail - для отправки сообщения требуется имя пользователя и email
# отсутствие reviewAuth равноценно reviewAuth: userName, при этом варианте не используется документ BuyerBundle
# reviewAnswer - будет ли возможность оставлять ответ на отзывы пользователям, принимает значение true, false соответственно. false по умолчанию при отсутствии параметра.
reviewAuth: userNameAndEmail
reviewAnswer: true
启用包
在内核中启用包
// app/AppKernel.php
public function registerBundles()
{
$bundles = array(
// ...
new Nitra\ReviewBundle\NitraReviewBundle(),
);
}
模板中添加示例(商品卡片 - 选项卡)
# src/Nitra/ProductBundle/Resources/views/Product/productPageContent.html.twig
# ...
{% block tabs %}
# ...
{% set productReviews = render(controller("NitraReviewBundle:Review:review", {'utensils' : 'product', 'objectId': product.id, 'reviewObjName':product.name}))%}
# ...
{{ include('NitraProductBundle:Modules:tabs.html.twig', {'tabs': {
# ...
'reviews': { 'content': productReviews, 'name': ('product.review'|trans) }
# ...
}}) }}
{% endblock tabs %}
# ...
可以单独输出表单和单独的评论列表
# src/Nitra/ProductBundle/Resources/views/Product/productPageContent.html.twig
# ...
{% Вывод списка %}
{% block tabs %}
# ...
{% set productReviews = render(controller("NitraReviewBundle:Review:List"))%}
# ...
{{ include('NitraProductBundle:Modules:tabs.html.twig', {'tabs': {
# ...
'reviews': { 'content': productReviews, 'name': ('product.review'|trans) }
# ...
}}) }}
{% endblock tabs %}
{% Вывод формы %}
{% render controller("NitraReviewBundle:Review:addReview", {'utensils' : 'product', 'objectId': product.id, 'reviewObjName':product.name}) %}
{% Необходимый скрипт для работы отзывов %}
{% render controller("NitraReviewBundle:Review:reviewScript") %}
# Параметр "utensils" обозначает принадлежность отзыва к товару, либо информационной статье, либо это отзыв магазина и может принимать 3 значения: product, info, store.
# В зависимости от установленного параметра utensils формируется ссылка на объект отзыва на форме редактирования отзыва.
# utensils задаётся только в review и addReview action.
#
# Также необходимо учитывать фоктор кэширования страниц, где происходит render, в таком случае необходимо вместо {% render(controller( ... использовать
# {{ render_esi (controller(...
# Например так: {{ render_esi (controller("NitraReviewBundle:Review:review" , {'utensils' : 'product', 'objectId': product.id, 'reviewObjName': product.fullName })) }}
# render_esi нельзя присваивать переменным и нежелательно(необходимо тестировать) использовать фильтра.
#...