LordBelial 0 Опубликовано 24 марта, 2014 Жалоба Share Опубликовано 24 марта, 2014 Можно ли сделать общею систему отзывов в магазине? Т.е. когда пользователь пишет отзыв не к конкретному товару, а общий отзыв о магазине, или о товарах, или об услугах, или ещё о чем-нибудь. И если да, то как? Ссылка на сообщение Поделиться на другие сайты
support 447 Опубликовано 24 марта, 2014 Жалоба Share Опубликовано 24 марта, 2014 Нет, по умолчанию отзывы в конкретным товарам. Но не сложно ведь сделать и список всех отзывов. В /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'} Примерно так делается. Ничего сложного, в принципе, я б даже сказал, что очень легко и логично. Ссылка на сообщение Поделиться на другие сайты
LordBelial 0 Опубликовано 24 марта, 2014 Автор Жалоба Share Опубликовано 24 марта, 2014 Хорошо, буду разбираться ;) Ссылка на сообщение Поделиться на другие сайты
LordBelial 0 Опубликовано 24 марта, 2014 Автор Жалоба Share Опубликовано 24 марта, 2014 В /app/Plugin/ModuleReviews/Controller/ActionController.php скопировать метод или функцию display ? Ссылка на сообщение Поделиться на другие сайты
LordBelial 0 Опубликовано 24 марта, 2014 Автор Жалоба Share Опубликовано 24 марта, 2014 Что-то мне не получается разобраться :( Он ругается на {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) Пожалуйста, напишите подробнее, что и где надо поменять. Ссылка на сообщение Поделиться на другие сайты
LordBelial 0 Опубликовано 24 марта, 2014 Автор Жалоба Share Опубликовано 24 марта, 2014 Я подумал, что для моего данного проекта будет вернее, что бы пользователи присылали свои отзывы через форму обратной связи, а менеджер уже сам их вводил на страницу. Создал отдельный шаблон "отзывы" в его шаблоне "Страница категории" создал <!-- 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> Ссылка на сообщение Поделиться на другие сайты
LordBelial 0 Опубликовано 24 марта, 2014 Автор Жалоба Share Опубликовано 24 марта, 2014 И, естественно, в каталоге группе Отзывы назначил шаблон "отзывы". Ссылка на сообщение Поделиться на другие сайты
support 447 Опубликовано 24 марта, 2014 Жалоба Share Опубликовано 24 марта, 2014 Да, скопировать метод (функция - это и есть метод внутри класса, т.е. это одно и тоже) и назвать display_all. В ошибке написано modulealias, без пробела. По идее, должно быть ведь module alias ... Ссылка на сообщение Поделиться на другие сайты
support 447 Опубликовано 24 марта, 2014 Жалоба Share Опубликовано 24 марта, 2014 Если такой вариант подходит, то почему бы и нет. Опять же, благодаря гибкости шаблонов, не нужно нигде в файлах копаться и всё довольно просто сделать через админку. Ссылка на сообщение Поделиться на другие сайты
Рекомендуемые сообщения