Отзывы

При нажатии на кнопку “Написать отзыв”, открывает вот такое окно Screenshot by Lightshot

Кто знает, как решить это?

1 лайк

Видимо старая версия унитемы или Карта нужно обновится

А CS-Cart свежий?

Да, свежий

У меня была такая ошибка после обновлений не помню чего, пропала, если память не изменяет карта на 4.9.1 сейчас уже не вспомню, даже где-то поднималась на форуме эта ошибка

У меня сейчас стоит 4.9.2.SP1

Обновите Unitheme, такая проблема у него была и давно исправлена.

1 лайк

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