view.php 16 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284
  1. <?php
  2. /**
  3. * Author: lf
  4. * Blog: https://blog.feehi.com
  5. * Email: job@feehi.com
  6. * Created at: 2016-04-02 22:55
  7. */
  8. /**
  9. * @var $this yii\web\View
  10. * @var $model common\models\Article
  11. * @var $commentModel common\models\Comment
  12. * @var $prev common\models\Article
  13. * @var $next common\models\Article
  14. * @var $recommends array
  15. * @var $commentList array
  16. */
  17. /**
  18. * @var $rightAd1 \backend\models\form\AdForm
  19. * @var $rightAd2 \backend\models\form\AdForm
  20. */
  21. use frontend\widgets\ArticleListView;
  22. use yii\data\ArrayDataProvider;
  23. use yii\helpers\Url;
  24. use frontend\assets\ViewAsset;
  25. use common\widgets\JsBlock;
  26. use yii\helpers\Html;
  27. use yii\widgets\ActiveForm;
  28. $this->title = $model->title;
  29. $categoryName = $model->category ? $model->category->name : Yii::t('app', 'UnClassified');
  30. $categoryAlias = $model->category ? $model->category->alias : Yii::t('app', 'UnClassified');
  31. ViewAsset::register($this);
  32. ?>
  33. <?=$this->render("_register_meta_tags", ['model' => $model])?>
  34. <div class="content-wrap">
  35. <div class="content">
  36. <div class="breadcrumbs">
  37. <a title="<?=Yii::t('frontend', 'Return Home')?>" href="<?= Yii::$app->getHomeUrl() ?>"><i class="fa fa-home"></i></a>
  38. <small>&gt;</small>
  39. <a href="<?= Url::to(['article/index', 'cat' => $categoryAlias]) ?>"><?= $categoryName ?></a>
  40. <small>&gt;</small>
  41. <span class="muted"><?= $model->title ?></span>
  42. </div>
  43. <header class="article-header">
  44. <h1 class="article-title"><a href="<?= Url::to(['article/view', 'id' => $model->id]) ?>"><?= $model->title ?></a></h1>
  45. <div class="meta">
  46. <span id="mute-category" class="muted"><i class="fa fa-list-alt"></i>
  47. <a href="<?= Url::to([
  48. 'article/index',
  49. 'cat' => $categoryAlias
  50. ]) ?>"> <?= $categoryName ?>
  51. </a>
  52. </span>
  53. <span class="muted"><i class="fa fa-user"></i> <a href="">admin</a></span>
  54. <time class="muted"><i class="fa fa-clock-o"></i> <?= Yii::$app->getFormatter()->asDate($model->created_at) ?></time>
  55. <span class="muted"><i class="fa fa-eye"></i> <span id="scanCount"><?= $model->scan_count * 100 ?></span>℃</span>
  56. <span class="muted"><i class="fa fa-comments-o"></i>
  57. <a href="<?= Url::to([
  58. 'article/view',
  59. 'id' => $model->id
  60. ]) ?>#comments">
  61. <span id="commentCount"><?= $model->comment_count ?></span>
  62. <?=Yii::t('frontend', 'Comment')?></a>
  63. </span>
  64. </div>
  65. </header>
  66. <article class="article-content">
  67. <?= $model->articleContent->content ?>
  68. <p>
  69. <?= Yii::t('frontend', 'Reproduced please indicate the source') ?>:
  70. <a href="<?= Yii::$app->homeUrl ?>" data-original-title="" title=""><?= Yii::$app->feehi->website_title ?></a>
  71. »
  72. <a href="<?= Url::to(['article/view', 'id' => $model->id]) ?>" data-original-title="" title=""><?= $model->title ?></a>
  73. </p>
  74. <div class="article-social">
  75. <a href="javascript:;" data-action="ding" data-id="<?=$model->id?>" like-url="<?=Url::to(['article/like'])?>" id="Addlike" class="action"><i class="fa fa-heart-o"></i><?=Yii::t('frontend', 'Like')?> (<span class="count"><?= $model->getArticleLikeCount() ?></span>)</a>
  76. <span class="or">or</span>
  77. <span class="action action-share bdsharebuttonbox"><i class="fa fa-share-alt"></i><?=Yii::t('frontend', 'Share')?> (<span class="bds_count" data-cmd="count" title="累计分享0次">0</span>)
  78. <div class="action-popover">
  79. <div class="popover top in"><div class="arrow"></div>
  80. <div class="popover-content">
  81. <a href="#" class="sinaweibo fa fa-weibo" data-cmd="tsina" title="分享到新浪微博"></a>
  82. <a href="#" class="bds_qzone fa fa-star" data-cmd="qzone" title="分享到QQ空间"></a>
  83. <a href="#" class="tencentweibo fa fa-tencent-weibo" data-cmd="tqq" title="分享到腾讯微博"></a>
  84. <a href="#" class="qq fa fa-qq" data-cmd="sqq" title="分享到QQ好友"></a>
  85. <a href="#" class="bds_renren fa fa-renren" data-cmd="renren" title="分享到人人网"></a>
  86. <a href="#" class="bds_weixin fa fa-weixin" data-cmd="weixin" title="分享到微信"></a>
  87. <a href="#" class="bds_more fa fa-ellipsis-h" data-cmd="more"></a>
  88. </div>
  89. </div>
  90. </div>
  91. </span>
  92. </div>
  93. </article>
  94. <footer class="article-footer">
  95. <div class="article-tags">
  96. <i class="fa fa-tags"></i>
  97. <?php foreach ($model->articleTags as $tag){ ?>
  98. <a href="<?=Url::to(['search/tag', 'tag'=>$tag->value])?>" rel="tag" data-original-title="" title=""><?=$tag->value?></a>
  99. <?php } ?>
  100. </div>
  101. </footer>
  102. <nav class="article-nav">
  103. <?php
  104. if ($prev !== null) {
  105. ?>
  106. <span class="article-nav-prev">
  107. <i class="fa fa-angle-double-left"></i><a href='<?= Url::to(['article/view', 'id' => $prev->id]) ?>' rel="prev"><?= $prev->title ?></a>
  108. </span>
  109. <?php } ?>
  110. <?php
  111. if ($next != null) {
  112. ?>
  113. <span class="article-nav-next">
  114. <a href="<?= Url::to(['article/view', 'id' => $next->id]) ?>" rel="next"><?= $next->title ?></a><i class="fa fa-angle-double-right"></i>
  115. </span>
  116. <?php } ?>
  117. </nav>
  118. <div class="related_top">
  119. <div class="related_posts">
  120. <?= ArticleListView::widget([
  121. 'dataProvider' => new ArrayDataProvider([
  122. 'allModels' => $recommends,
  123. ]),
  124. 'layout' => "<ul class='related_img'><h2>" . Yii::t('frontend', 'Related Recommends') . "</h2>{items}</ul>",
  125. 'template' => "<a href='{article_url}' title='{title}' target='_blank'>
  126. <img src='{img_url}' alt='{title}'><br>
  127. <span class='r_title'>{title}</span>
  128. </a>",
  129. 'itemOptions' => ['tag'=>'li', 'class'=>'related_box'],
  130. 'thumbWidth' => 185,
  131. 'thumbHeight' => 110,
  132. ]) ?>
  133. </div>
  134. </div>
  135. <div id="respond" class="no_webshot">
  136. <form action="" method="post" id="commentform">
  137. <?php $form = ActiveForm::begin(); ?>
  138. <?= Html::activeHiddenInput($commentModel, 'aid', ['value' => $model->id]) ?>
  139. <div class="comt-title" style="display: block;">
  140. <div class="comt-avatar pull-left">
  141. <img src="https://secure.gravatar.com/avatar/" class="avatar avatar-108" height="50" width="50">
  142. </div>
  143. <div class="comt-author pull-left"><?php if (Yii::$app->getUser()->getIsGuest()) {
  144. echo Yii::t('frontend', 'Guest');
  145. } else {
  146. echo Yii::$app->getUser()->getIdentity()->username;
  147. } ?> <span><?= Yii::t('frontend', 'Post my comment') ?></span> &nbsp;
  148. <a class="switch-author" href="javascript:void(0)" data-type="switch-author" style="font-size:12px;"><?= Yii::t('frontend', 'Change account') ?></a>
  149. </div>
  150. <a id="cancel-comment-reply-link" class="pull-right" href="javascript:;"><?= Yii::t('frontend', 'Cancel comment') ?></a>
  151. </div>
  152. <div class="comt">
  153. <div class="comt-box">
  154. <?= $form->field($commentModel, 'content', ['template' => '{input}'])->textarea([
  155. 'class' => 'input-block-level comt-area',
  156. 'cols' => '100%',
  157. 'rows' => '3',
  158. 'tabindex' => 1,
  159. 'placeholder' => Yii::t('frontend', 'Writing some...'),
  160. "id" => "comment"
  161. ]) ?>
  162. <div class="comt-ctrl">
  163. <button class="btn btn-primary pull-right" type="submit" name="submit" id="submit" tabindex="5">
  164. <i class="fa fa-check-square-o"></i> <?= Yii::t('frontend', 'Submit comment') ?>
  165. </button>
  166. <div class="comt-tips pull-right">
  167. <div class="comt-tip comt-error" style="display: none;"></div>
  168. <input type='hidden' name='comment_post_ID' value='114' id='comment_post_ID'/>
  169. <?= $form->field($commentModel, 'reply_to', ['template' => '{input}'])->hiddenInput(['value' => 0, 'id' => 'comment_parent']) ?>
  170. <p style="display: none;"><input type="hidden" id="akismet_comment_nonce" name="akismet_comment_nonce" value="32920dc775"/></p>
  171. <p style="display: none;"><input type="hidden" id="ak_js" name="ak_js" value="101"/></p>
  172. </div>
  173. <span data-type="comment-insert-smilie" class="muted comt-smilie"><i class="fa fa-smile-o"></i> <?= Yii::t('frontend', 'emoj') ?></span>
  174. <span class="muted comt-mailme"><label for="comment_mail_notify" class="checkbox inline" style="padding-top:0">
  175. <input type="checkbox" name="comment_mail_notify" id="comment_mail_notify" value="comment_mail_notify" checked="checked"><?=Yii::t('frontend', 'Send email at someone replied')?></label>
  176. </span>
  177. </div>
  178. </div>
  179. <div class="comt-comterinfo" id="comment-author-info" style="display:none">
  180. <h4><?= Yii::t('frontend', 'Hi, Please fill') ?></h4>
  181. <ul>
  182. <li class="form-inline">
  183. <label class="hide" for="author"><?= Yii::t('app', 'Nickname') ?></label>
  184. <?php if (Yii::$app->getUser()->getIsGuest()) {
  185. $defaultNickname = Yii::t('frontend', 'Guest');
  186. } else {
  187. $defaultNickname = Yii::$app->getUser()->getIdentity()->username;
  188. } ?>
  189. <?= $form->field($commentModel, 'nickname', ['template' => '{input}<span class="help-inline">' . Yii::t('app', 'Nickname') . ' (' . Yii::t('frontend', 'required') . ')</span>'])->textInput(['value' => $defaultNickname]) ?>
  190. </li>
  191. <li class="form-inline"><?= $form->field($commentModel, 'email', ['template' => '{input}<span class="help-inline">' . Yii::t('app', 'Email') . ' </span>'])->textInput() ?></li>
  192. <li class="form-inline"><?= $form->field($commentModel, 'website_url', ['template' => '{input}<span class="help-inline">' . Yii::t('frontend', 'Website') . '</span>'])->textInput() ?></li>
  193. </ul>
  194. </div>
  195. </div>
  196. <?php ActiveForm::end() ?>
  197. </div>
  198. <div id="postcomments">
  199. <div id="comments">
  200. <i class="fa fa-comments-o"></i> <b> (<?= $model->comment_count ?>)</b><?= Yii::t('frontend', 'person posted') ?>
  201. </div>
  202. <ol class="commentlist">
  203. <?php
  204. foreach ($commentList as $v) {
  205. ?>
  206. <li class="comment even thread-even depth-1 byuser comment-author-admin bypostauthor"
  207. id="comment-<?= $v['id'] ?>">
  208. <div class="c-avatar">
  209. <img data-original="https://secure.gravatar.com/avatar/<?= md5($v['email']) ?>?s=50" class="avatar avatar-108" height="50" width="50" src="https://secure.gravatar.com/avatar/<?= md5($v['nickname']) ?>" style="display: block;">
  210. <div class="c-main" id="div-comment-<?= $v['id'] ?>">
  211. <?= $v['content'] ?><br>
  212. <div class="c-meta">
  213. <span class="c-author"><a href="<?= $v['website_url'] ?>" rel="external nofollow" class="url" target="_blank"><?= empty($v['nickname']) ? '游客' : $v['nickname'] ?></a></span><?= Yii::$app->formatter->asDate($v['created_at']) ?>
  214. (<?= Yii::$app->getFormatter()->asRelativeTime($v['created_at']) ?>)
  215. <a rel="nofollow" class="comment-reply-link" href="" onclick="return addComment.moveForm('div-comment-<?= $v['id'] ?>', '<?= $v['id'] ?>', 'respond','0' )" aria-label="回复给admin">回复</a>
  216. </div>
  217. </div>
  218. </div>
  219. <?php
  220. if (! empty($v['sub'])) {
  221. ?>
  222. <ul class="children">
  223. <?php
  224. foreach ($v['sub'] as $value) {
  225. ?>
  226. <li class="comment odd alt depth-2" id="comment-<?= $value['id'] ?>">
  227. <div class="c-avatar">
  228. <img data-original="https://secure.gravatar.com/avatar/<?= md5($v['email']) ?>?s=50" class="avatar avatar-108" height="50" width="50" src="https://secure.gravatar.com/avatar/<?= md5($v['nickname']) ?>" style="display: block;">
  229. <div class="c-main" id="div-comment-<?= $value['id'] ?>"><?= $value['content'] ?><br>
  230. <div class="c-meta">
  231. <span class="c-author">
  232. <a href="<?= $v['website_url'] ?>" rel="external nofollow" class="url" target="_blank"><?= empty($value['nickname']) ? Yii::t('frontend', "Guest") : $value['nickname'] ?></a>
  233. </span>
  234. <?= Yii::$app->getFormatter()->asDate($value['created_at']) ?>(<?= Yii::$app->getFormatter()->asRelativeTime($value['created_at']) ?>)
  235. </div>
  236. </div>
  237. </div>
  238. </li><!-- #comment-## -->
  239. <?php } ?>
  240. </ul>
  241. <?php } ?>
  242. </li><!-- #comment-## -->
  243. <?php } ?>
  244. </ol>
  245. <div class="commentnav">
  246. </div>
  247. </div>
  248. </div>
  249. </div>
  250. <?= $this->render('_sidebar', [
  251. 'rightAd1' => $rightAd1,
  252. 'rightAd2' => $rightAd2,
  253. ]) ?>
  254. <?php JsBlock::begin(); ?>
  255. <script type="text/javascript">
  256. SyntaxHighlighter.all();
  257. $(document).ready(function () {
  258. $.ajax({
  259. url:"<?=Url::to(['article/view-ajax'])?>",
  260. data:{id:<?=$model->id?>},
  261. success:function (data) {
  262. $("span.count").html(data.likeCount);
  263. $("span#scanCount").html(data.scanCount);
  264. $("span#commentCount").html(data.commentCount);
  265. }
  266. });
  267. })
  268. </script>
  269. <script>with(document)0[(getElementsByTagName("head")[0]||body).appendChild(createElement("script")).src="http://bdimg.share.baidu.com/static/api/js/share.js?v=89860593.js?cdnversion="+~(-new Date()/36e5)];</script>
  270. <?php JsBlock::end(); ?>