Перейти к содержанию
Форум поддержки пользователей VamShop

Общая система отзывов.


Рекомендуемые сообщения

Можно ли сделать общею систему отзывов в магазине? Т.е. когда пользователь пишет отзыв не к конкретному товару, а общий отзыв о магазине, или о товарах, или об услугах, или ещё о чем-нибудь.

И если да, то как?

Ссылка на сообщение
Поделиться на другие сайты

Нет, по умолчанию отзывы в конкретным товарам.

 

Но не сложно ведь сделать и список всех отзывов.

 

В /app/Plugin/ModuleReviews/Controller/ActionController.php скопируйте метод display назовите новый метод display_all, к примеу.

 

Из строки поиски (->find ... ) уберите запрос id товара content.id = .... , что б все отзывы выводились.

 

Затем скопируйте в /app/Plugin/ModuleReviews/View/Action/displat.ctp скопируйте в display_all.ctp

Нужно будет правда, я так думаю, в diplay_all.ctp шаблоне использовать smarty foreach тэг, что б вывести все отзывы, а не один.

 

и в любом месте магазина, в любом шаблоне выводите меткой module, вот так:

{module alias='reviews' action='display_all'}

Примерно так делается.

 

Ничего сложного, в принципе, я б даже сказал, что очень легко и логично.

Ссылка на сообщение
Поделиться на другие сайты

В /app/Plugin/ModuleReviews/Controller/ActionController.php  скопировать метод или функцию display ?

Ссылка на сообщение
Поделиться на другие сайты

Что-то мне не получается разобраться :(

Он ругается на {module alias='reviews' action='display_all'



Syntax Error in template "922c30e5661b1ab097c38d735348671555eb0add" on line 18 "{modulealias='reviews' action='display_all'}" - Unexpected "=", expected one of: "}" , " "

Error: An Internal Error Has Occurred.

Stack Trace

APP/Vendor/smarty/sysplugins/smarty_internal_templateparser.php line 3107 → Smarty_Internal_TemplateCompilerBase->trigger_template_error()
APP/Vendor/smarty/sysplugins/smarty_internal_templateparser.php line 3172 → Smarty_Internal_Templateparser->yy_syntax_error(integer, string)
APP/Vendor/smarty/sysplugins/smarty_internal_smartytemplatecompiler.php line 105 → Smarty_Internal_Templateparser->doParse(integer, string)
APP/Vendor/smarty/sysplugins/smarty_internal_templatecompilerbase.php line 171 → Smarty_Internal_SmartyTemplateCompiler->doCompile(string)
APP/Vendor/smarty/sysplugins/smarty_internal_template.php line 187 → Smarty_Internal_TemplateCompilerBase->compileTemplate(Smarty_Internal_Template)
APP/Vendor/smarty/sysplugins/smarty_internal_templatebase.php line 155 → Smarty_Internal_Template->compileTemplateSource()
APP/Controller/Component/SmartyComponent.php line 85 → Smarty_Internal_TemplateBase->fetch(string)
APP/Controller/Component/SmartyComponent.php line 90 → SmartyComponent->fetch(string, array)
APP/Vendor/smarty/vam_plugins/function.content.php line 29 → SmartyComponent->display(string, array)
APP/tmp/cache/smarty_templates_c/d784f0460c3b816c17c3702e1b3e25b7a35c8f90.string.php line 254 → smarty_function_content(array, Smarty_Internal_Template)
APP/Vendor/smarty/sysplugins/smarty_internal_templatebase.php line 176 → content_532fce265d392(Smarty_Internal_Template)
APP/Controller/Component/SmartyComponent.php line 85 → Smarty_Internal_TemplateBase->fetch(string)
APP/Controller/Component/SmartyComponent.php line 90 → SmartyComponent->fetch(string, array)
APP/Controller/PagesController.php line 164 → SmartyComponent->display(string, array)
[internal function] → PagesController->index()
CORE/Cake/Controller/Controller.php line 486 → ReflectionMethod->invokeArgs(PagesController, array)
CORE/Cake/Routing/Dispatcher.php line 187 → Controller->invokeAction(CakeRequest)
CORE/Cake/Routing/Dispatcher.php line 162 → Dispatcher->_invoke(PagesController, CakeRequest, CakeResponse)
APP/webroot/index.php line 92 → Dispatcher->dispatch(CakeRequest, CakeResponse)

Пожалуйста, напишите подробнее, что и где надо поменять.

Ссылка на сообщение
Поделиться на другие сайты

Я подумал, что для моего данного проекта будет вернее, что бы пользователи присылали свои отзывы через форму обратной связи, а менеджер уже сам их вводил на страницу.
Создал отдельный шаблон "отзывы" в его шаблоне "Страница категории" создал

<!-- start: Page section -->
	<section class="contents-page">
		<h2>{page_name}</h2>              
			{contact_us}
      		{content_listing template='feedback-box' parent={$content_id}}
	</section>
<!-- end: Page section -->

В микрошаблонах создал шаблон "feedback-box" с кодом 

<ul class="unstyled">
	{foreach from=$content_list item=node}
		<li{if $node.alias == $content_alias} class="active"{/if}>
			<h3>{$node.name}</h3>
			<div>{$node.description}</div>
		</li>
	{/foreach}
</ul>
Ссылка на сообщение
Поделиться на другие сайты

Да, скопировать метод (функция - это и есть метод внутри класса, т.е. это одно и тоже) и назвать display_all.

 

В ошибке написано modulealias, без пробела.

По идее, должно быть ведь module alias ...

Ссылка на сообщение
Поделиться на другие сайты

Если такой вариант подходит, то почему бы и нет.

 

Опять же, благодаря гибкости шаблонов, не нужно нигде в файлах копаться и всё довольно просто сделать через админку.

Ссылка на сообщение
Поделиться на другие сайты
×
×
  • Создать...