Подскажите, как можно отключить авто замену автора блога Новости?

Кратко о ситуации.
На сайте публикуются новости. У каждой новости есть автор. Он прописывается 2 раза. Первый раз в блоке с разделами Новости, где можно посмотреть список новостей.

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

Можно попробовать отредактировать шаблон теме/templates/addons/blog/hooks/pages/page_extra.pre.tpl.

В файле заменить примерно на 18 строке

{$subpage.author}

на

{$page.author}

и почистить кэш.

Этот дифф файл добавляет на странице редактирования страницы на вкладке Add-ons (Модули) поле автора, если это поле не очищать то автор новости не изменится. Чтобы изменить автора статьи на текущего пользователя необходимо очистить это поле и сохранить изменения.
Вручную изменить автора можно в таблице cscart_blog_authors

1 лайк

К сожалению не помогло. Вместо имени подставляет “Главный администратор”


1 лайк

подскажите, а “app-addons-blog-func.php.diff”— этот файл лежит на сервере или же можно через cms найти его?

забыл добавить ссылку как применять такие файлы
https://www.cs-cart.ru/docs/latest/upgrade/apply_diff_file.html

на сервере нужно изменить два файла

  1. app/addons/blog/func.php

эти строки:

db_query(“REPLACE INTO ?:blog_authors ?e”, array(
‘page_id’ => $page_id,
‘user_id’ => Tygh::$app[‘session’][‘auth’][‘user_id’]
));

заменить на эти:

if (empty($page_data[‘author’])) {
db_query(‘DELETE FROM ?:blog_authors WHERE page_id = ?i’, $page_id);
db_query(“REPLACE INTO ?:blog_authors ?e”, array(
‘page_id’ => $page_id,
‘user_id’ => Tygh::$app[‘session’][‘auth’][‘user_id’]
));
}

  1. design/backend/templates/addons/blog/hooks/pages/detailed_content.post.tpl

после строки:

{include file=“common/subheader.tpl” title=__(“blog”) target="#blog_image"}

добавить эти строки:

<div id=“blog_author” class=“in collapse”>
<div class=“control-group”>
<label class=“control-label”>{__(“author”)}:</label>
<div class=“controls”>
<input type=“text” name=“page_data[author]” value="{$page_data.author}">
</div>
</div>
</div>

спасибо большое!