New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Не работает ссылка reply в комментариях #9
Comments
Здравствуйте, только что проверил работу reply кнопки на чистом шаблоне, не смог воспроизвести ошибку. Думаю дело в ассетах, попробуйте проверить наличие comments.js на странице и ошибок в консоли. Если вы меняли темплейт(_list.php), скиньте пожалуйста его код для воспроизведения ошибки. |
Файл _list я переименовал в comments.php -должен вызватся
из файла comments.js ?
|
У меня скрипт в конце подключается в таком порядке .Возможно, должен подключаться после pjax? Или это не критично?
|
Когда в файле comments.js для теста пишу alert(); то при обнавлении страници он отрабатывает. Значит файл подключается, но плагин не работает при нажатии на ссылку. |
Попробуйте следующий способ:
Код для index.php <?php
use yii\widgets\Pjax;
/* @var $this \yii\web\View */
/* @var $comments array */
/* @var $commentModel \yii2mod\comments\models\CommentModel */
/* @var $maxLevel null|integer comments max level */
/* @var $encryptedEntity string */
/* @var $pjaxContainerId string */
/* @var $formId string comment form id */
?>
<?php Pjax::begin([
'enablePushState' => false,
'timeout' => 10000,
'id' => $pjaxContainerId
]); ?>
<div class="comments row">
<div class="col-md-12 col-sm-12">
<div class="title-block clearfix">
<h3 class="h3-body-title"><?php echo Yii::t('yii2mod.comments', 'Comments'); ?></h3>
<div class="title-separator"></div>
</div>
<ol class="comments-list">
<?php echo $this->render('_comments', ['comments' => $comments, 'maxLevel' => $maxLevel]) ?>
</ol>
<?php if (!Yii::$app->user->isGuest): ?>
<?php echo $this->render('@vendor/yii2mod/yii2-comments/widgets/views/_form', [
'commentModel' => $commentModel,
'encryptedEntity' => $encryptedEntity,
'formId' => $formId
]); ?>
<?php endif; ?>
</div>
</div>
<?php Pjax::end(); ?> для _comments.php я использовал ваш код
<?php echo Comment::widget([
'model' => $model,
'commentView' => '@app/views/comments/index' // Вот эта строка
]); ?> И после этого почистить папку assets в папке web, и заново попробовать. Этот способ проверил, должен работать. |
Попробовал. Ни чего не изменилось. Вероятнее всего я где-то, что-то забыл . |
Еще меня смущает в вашем коде вот эта строка: <script src="/work/yii2-Blog/css/comments/comments.js"></script> Путь к файлу comments.js должен быть примерно такой же как у activeForm.js в вашем примере, а он почему то ведет в папку css. В моем случае: <script src="/assets/df2db1f0/jquery.js"></script>
<script src="/assets/bc2e7155/yii.js"></script>
<script src="/assets/ef25f117/js/comment.js"></script>
<script src="/assets/bc2e7155/yii.validation.js"></script>
<script src="/assets/bc2e7155/yii.activeForm.js"></script>
<script src="/assets/75c0633a/jquery.pjax.js"></script>
<script src="/assets/918ca098/js/bootstrap.js"></script> Честно говоря не смогу вам помочь, могу посоветовать установить просто чистый yii2/basic или наш yii2mod/base и в нем протестировать этот виджет может тогда найдете где допустили ошибку. Eще раз проверил ваш код на чистом шаблоне, он работает прекрасно. |
Я установил скрипты и стили в папку web, чтобы не перезаписывалось туда же в assets, а подключалось оттуда. |
Предлагаю так попробовать:
|
Ок. Спасибо. Попробую. |
Спасибо, главное чтобы работал :) |
При нажатии на ссылку reply (ответить) на комментарии просто перебрасывает на верх страницы. Проще говоря, ссылка работает как обычная ссылка на эту-же страницу. Соответственно, не записывается родительский id . Что может быть. На сколько я понял, за поведение ссылки отвечает comment.js и data атрибуты
<?php echo Html::a("<span class='glyphicon glyphicon-share-alt'></span> Ответить", '#', ['class' => 'comment-reply', 'data' => ['action' => 'reply', 'comment-id' => $comment->id]]); ?>
Все это подключается в assets. Возможно ,что-то я упустил?
Возможно jquery плагин где-то нужно включить?
The text was updated successfully, but these errors were encountered: