nitra/e-commerce-site-reviewbundle

This package is abandoned and no longer maintained. No replacement package was suggested.

Review Bundle

Installs: 347

Dependents: 0

Suggesters: 0

Security: 0

Type:symfony-bundle

v1.0 2014-09-19 18:27 UTC

This package is auto-updated.

Last update: 2018-04-17 12:30:40 UTC


README

Configuring

To make this bundle work you need to add the following to your app/config/config.yml:

# app/config/config.yml

 twig.extension.intl:
        class: Twig_Extensions_Extension_Intl
        tags:
            - { name: twig.extension }

Import the routing

Import the routing

# app/config/routing.yml

nitra_review:
    resource: "@NitraReviewBundle/Resources/config/routing.yml"
    prefix:   /

Import the routing

# app/config/parameters.yml
parameters:
    # способ авторизации (какие поля нужны для ввода отзыва): 
    # nitraAuth - с помощью бандла NitraAuth
    # userName - для отправки сообщения требуется только имя пользователя
    # userNameAndEmail - для отправки сообщения требуется имя пользователя и email
    # отсутствие reviewAuth равноценно reviewAuth: userName, при этом варианте не используется документ BuyerBundle
    # reviewAnswer - будет ли возможность оставлять ответ на отзывы пользователям, принимает значение true, false соответственно. false по умолчанию при отсутствии параметра.

    reviewAuth: userNameAndEmail
    reviewAnswer: true

Enable the bundle

Enable the bundle in the kernel:

// 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 нельзя присваивать переменным и нежелательно(необходимо тестировать) использовать фильтра.
    #...