Отзывы

Хм, а что делать тем, у кого случилась та же беда (например, мне), но никакой 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?

Значит надо на месте изучать

Хотелось бы понять, что изучать :frowning:

Прошелся по каталогам, сравнивая варианты на локальном и рабочем.

app/addons/discussion идентичные
templates/vies/tabs, где собираются вкладки, тоже идентичные
templates/adons/discussion идентичные

Но вместо конструкции типа:

<a href="http://localhost/sww492sp3/index.php?dispatch=discussion.get_new_post_form&amp;object_type=P&amp;object_id=1&amp;obj_prefix=&amp;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 быть не должно. У вас по коду значение ссылки передается, по факту ее нет. Не может ли кто-то код кнопки перезаписывать?

1 лайк

Может!

Нашел, спасибо за поддержку :slight_smile:

Перезаписывался код кнопки в 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}

Теперь все работает, как хочется :slight_smile:

2 лайка

Спасибо за сообщение. Вообще, этот модуль уже давно выпилили и с чистой установкой он не идет. Видимо, в процессе апгрейдов не удалился

1 лайк

Именно что не удалился. А можно его как-то аккуратно выпилить, не порушив работающий магазин? Вижу, что в чистой установке его нет. Но я вижу, что в чистой установке нет и темы Responsive theme: Russian_theme
А у меня там стили понастроены и вот это вот все :wink:

Как ее убить без критических последствий, не подскажете?

Стили свои вы как добавляли?

Ой, по-разному :slight_smile:

Я понимаю, что стили из responsive/css/addons/rus_theme_style/styles.less можно перетащить в свои. В общем, попробую. Посмотрю, что выйдет.

Тогда лучше эксперементировать на копии сайта

  • перенести стили
  • выключить модуль
  • переключить тему
1 лайк

Спасибо, так и буду действовать :slight_smile:

Можете подробнее третий пункт описать? На какую тему переподключаться?

Временно перейти на дефолтную и посмотреть поведение там

я попробовал выключить этот модуль на тестовой версии сайта. Кнопка “Написать отзывы” заработала.
Внешне вроде никаких изменений. Стили из этого модуля на что влияют?
Просто если этот модуль ломает другие функции, то его лучше отключить?

Попробуйте написать разработчикам модуля. Должны помочь

Спасибо. Написал в техподдержку CS-Cart. Если ответят что-то дельное, выложу здесь.

Короче эти полунедоразработчики даже не удосужились протестировать и уведомить всех о том, что модуль “Стили и дополнения для русской темы” не совместим с новыми версиями полунедоCMS.

Ответ тех поддержки:
Модуль Стили и дополнения для русской темы был вынесен в отдельную тему Bright theme начиная с версии 4.4.1. В чистых установках CS-Cart (после версии 4.4.1) данный модуль отсутствовал. В версиях, которые были установлены до выхода обновления 4.4.1, модуль входил в стандартный пакет модулей и не был удален при обновлении для сохранения обратной совместимости у тех пользователей, кто его использовал.

Нам жаль, что вы столкнулись с данной ошибкой. Вы можете удалить этот модуль, вся его функциональность перенесена на отдельную тему.