Хм, а что делать тем, у кого случилась та же беда (например, мне), но никакой Unitheme нет и никогда не было, есть только самая обычная Responsive?
По этому багу пишут, что только в сторонних темах
https://forum.cs-cart.com/tracker/issue-7392-issue-with-customer-reviews-in-new-upgrade
Может модуль какой-то сторонний косячит?
Поднять надо вопрос повыше, похоже.
Уточнение еще есть небольшое: окно добавления отзывов нормально открывается в категории (если разрешить добавлять отзыв для категории), или на странице отзывов. И только в товаре не открывается, неверно собирается у кнопки тег. Развернул чистую установку — все работает. Сравнил папки ТЕМА/templates/addons/discussion, app/addons/discussion и views/tabs/components — идентичные.
Где еще можно посмотреть?
А если у нас самая что ни на есть коробочная Responsive?
Значит надо на месте изучать
Хотелось бы понять, что изучать
Прошелся по каталогам, сравнивая варианты на локальном и рабочем.
app/addons/discussion идентичные
templates/vies/tabs, где собираются вкладки, тоже идентичные
templates/adons/discussion идентичные
Но вместо конструкции типа:
<a href="http://localhost/sww492sp3/index.php?dispatch=discussion.get_new_post_form&object_type=P&object_id=1&obj_prefix=&post_redirect_url=index.php%3Fdispatch%3Dproducts.view%26product_id%3D1%26selected_section%3Ddiscussion%23discussion" class="ty-btn cm-dialog-opener cm-dialog-auto-size ty-btn__primary " rel="nofollow" data-ca-target-id="new_post_dialog_1" title="Написать отзыв">Написать отзыв</a>
формирует такое:
<div class="ty-discussion-post__buttons buttons-container">
<a class="ty-btn cm-dialog-opener cm-dialog-auto-size ty-btn__primary " rel="nofollow" data-ca-target-id="new_post_dialog_3238">Написать отзыв</a>
</div>
не подсасывает ссылку.
Сборка идет (или, точнее, не идет) в файле templates/addons/discussion/views/discussion/components/new_post_button.tpl
{if $show_container}
<div class="ty-discussion-post__buttons buttons-container">
{/if}
{if $locate_to_review_tab}
{$return_current_url = ($config.current_url|fn_link_attach:"selected_section=discussion#discussion")|escape:url}
{else}
{$return_current_url = $config.current_url|escape:url}
{/if}
{if !$auth.user_id
&& $object_type == "Addons\\Discussion\\DiscussionObjectTypes::PRODUCT"|enum
&& $settings.discussion.products.product_review_after_purchase == "Y"
}
{$but_id = "opener_discussion_login_form_new_post_`$obj_prefix``$obj_id`"}
{$target_id = "new_discussion_post_login_form_popup"}
{$but_href = fn_url("discussion.get_user_login_form?return_url=`$return_current_url`")}
{if $style == "text"}
<a id="{$but_id}" class="cm-dialog-opener cm-dialog-auto-size ty-discussion__review-write" data-ca-target-id="{$target_id}" rel="nofollow" title="{__("sign_in")}" href="{$but_href}">{$name}</a>
{else}
{include
file="buttons/button.tpl"
but_id=$but_id
but_href=$but_href
but_text=$name
but_title=__("sign_in")
but_role="submit"
but_target_id=$target_id
but_meta="cm-dialog-opener cm-dialog-auto-size ty-btn__primary"
but_rel="nofollow"
}
{/if}
{else}
{$but_id = "opener_new_post_`$obj_prefix``$obj_id`"}
{$but_href = fn_url("discussion.get_new_post_form?object_type=`$object_type`&object_id=`$obj_id`&obj_prefix=`$obj_prefix`&post_redirect_url=`$return_current_url`")}
{$target_id = "new_post_dialog_`$obj_prefix``$obj_id`"}
{if $style == "text"}
<a id="{$but_id}" class="ty-discussion__review-write cm-dialog-opener cm-dialog-auto-size" data-ca-target-id="{$target_id}" rel="nofollow" href="{$but_href}" title="{__("write_review")}">{$name}</a>
{else}
{include
file="buttons/button.tpl"
but_id=$but_id
but_href=$but_href
but_text=$name
but_title=__("write_review")
but_role="submit"
but_target_id=$target_id
but_meta="cm-dialog-opener cm-dialog-auto-size ty-btn__primary"
but_rel="nofollow"
}
{/if}
{/if}
{if $show_container}
</div>
{/if}
Может такая проблема возникать из-за того, что на локалке http, а на рабочем https?
Из-за https быть не должно. У вас по коду значение ссылки передается, по факту ее нет. Не может ли кто-то код кнопки перезаписывать?
Может!
Нашел, спасибо за поддержку
Перезаписывался код кнопки в templates/addons/rus_theme_style/overrides/addons/discussion/view.tpl
Поменял кусок, что там был:
{if "CRB"|strpos:$discussion.type !== false && !$discussion.disable_adding}
<div class="ty-discussion-post__buttons buttons-container">
{include file="buttons/button.tpl" but_id="opener_new_post" but_text=$new_post_title but_role="submit" but_target_id="new_post_dialog_`$obj_id`" but_meta="cm-dialog-opener cm-dialog-auto-size ty-btn__primary" but_rel="nofollow"}
</div>
{if $object_type != "P"}
{include file="addons/discussion/views/discussion/components/new_post.tpl" new_post_title=$new_post_title}
{/if}
{/if}
на
{if $discussion.type !== "Addons\\Discussion\\DiscussionTypes::TYPE_DISABLED"|enum && !$discussion.disable_adding}
{include
file="addons/discussion/views/discussion/components/new_post_button.tpl"
name=__("write_review")
obj_id=$object_id
object_type=$discussion.object_type
locate_to_review_tab=$locate_to_review_tab
}
{/if}
Теперь все работает, как хочется
Спасибо за сообщение. Вообще, этот модуль уже давно выпилили и с чистой установкой он не идет. Видимо, в процессе апгрейдов не удалился
Именно что не удалился. А можно его как-то аккуратно выпилить, не порушив работающий магазин? Вижу, что в чистой установке его нет. Но я вижу, что в чистой установке нет и темы Responsive theme: Russian_theme
А у меня там стили понастроены и вот это вот все
Как ее убить без критических последствий, не подскажете?
Стили свои вы как добавляли?
Ой, по-разному
Я понимаю, что стили из responsive/css/addons/rus_theme_style/styles.less можно перетащить в свои. В общем, попробую. Посмотрю, что выйдет.
Тогда лучше эксперементировать на копии сайта
- перенести стили
- выключить модуль
- переключить тему
Спасибо, так и буду действовать
Можете подробнее третий пункт описать? На какую тему переподключаться?
Временно перейти на дефолтную и посмотреть поведение там
я попробовал выключить этот модуль на тестовой версии сайта. Кнопка “Написать отзывы” заработала.
Внешне вроде никаких изменений. Стили из этого модуля на что влияют?
Просто если этот модуль ломает другие функции, то его лучше отключить?
Спасибо. Написал в техподдержку CS-Cart. Если ответят что-то дельное, выложу здесь.
Короче эти полунедоразработчики даже не удосужились протестировать и уведомить всех о том, что модуль “Стили и дополнения для русской темы” не совместим с новыми версиями полунедоCMS.
Ответ тех поддержки:
Модуль Стили и дополнения для русской темы был вынесен в отдельную тему Bright theme начиная с версии 4.4.1. В чистых установках CS-Cart (после версии 4.4.1) данный модуль отсутствовал. В версиях, которые были установлены до выхода обновления 4.4.1, модуль входил в стандартный пакет модулей и не был удален при обновлении для сохранения обратной совместимости у тех пользователей, кто его использовал.
Нам жаль, что вы столкнулись с данной ошибкой. Вы можете удалить этот модуль, вся его функциональность перенесена на отдельную тему.