bhaoo / Cuckoo

🍭 一款MD风格的双栏Typecho主题
https://dwd.moe
GNU General Public License v3.0
544 stars 57 forks source link

【求助】这是一个求助 #70

Open LoCCai opened 1 year ago

LoCCai commented 1 year ago

大佬们好,我修改了index.php 这部分的代码

<div class="mdui-card-primary-title"><?php $this->sticky();$this -> title(); ?></div>
                <div class="mdui-card-primary-subtitle index-info"><strong>[<?php $this -> tags('] ['); ?>]</strong><br />
                    <strong>❃<?php $this -> category(','); ?>❃</strong>
                    <?php $this -> date(); ?>
                  |<?php get_post_view($this) ?> 浏览|
                <?php $this -> commentsNum('没有评论呐', '孤单 の 1 条评论', '%d 条评论'); ?></div>
                <div class="mdui-card-primary-subtitle index-subtitle"><?php $this -> excerpt(); ?></div>

用以改变主页面的卡片样式

LoCCai commented 1 year ago

image

LoCCai commented 1 year ago

但是只能在第一页正常显示

在主页上,向下滑动至第二页后均会造成布局混乱。 有大佬可以帮忙解惑吗?

目前博客粗暴的用跳转链接其他页面了。

相关链接: https://blog.loccai.top/ https://blog.loccai.top/index.php/page/2/

bhaoo commented 1 year ago

混乱前和混乱后的图片可以提供一下吗?还有你修改这段代码的commit有么,有的话可以提供一下

LoCCai commented 1 year ago

上图即为改后卡片格式,在第一页的所有卡片都如图正常显示。 向下滚动至超出当前页最大文章卡片数(typecho->阅读设置->每页文章数目)就会出现如下图情况 1680076495477

LoCCai commented 1 year ago

commit没得,我都是打包然后上传到服务器直接改的,没用git。 修改的文件:index.php 修改起始行:60 原始代码:

                <div class="mdui-card-primary-title"><?php $this->sticky();$this -> title(); ?></div>
                <div class="mdui-card-primary-subtitle index-info"><?php $this -> date(); ?>
                  |<?php $this -> commentsNum('0 条评论', '1 条评论', '%d 条评论'); ?></div>
                <div class="mdui-card-primary-subtitle index-subtitle"><?php $this -> excerpt(); ?></div>

修改后代码:

                <div class="mdui-card-primary-title"><?php $this->sticky();$this -> title(); ?></div>
                <div class="mdui-card-primary-subtitle index-info"><strong>[<?php $this -> tags('] ['); ?>]</strong><br />
                    <strong>❃<?php $this -> category(','); ?>❃</strong>
                    <?php $this -> date(); ?>
                  |<?php get_post_view($this) ?> 浏览|
                <?php $this -> commentsNum('没有评论呐', '孤单 の 1 条评论', '%d 条评论'); ?></div>
                <div class="mdui-card-primary-subtitle index-subtitle"><?php $this -> excerpt(); ?></div>
LoCCai commented 1 year ago

相关的achieve.php部分一并修改了。

bhaoo commented 1 year ago

抱歉 来晚力 问题还存在么?

bhaoo commented 1 year ago

这几天看了下,出现这个问题的原因是因为你添加的

<?php $this -> tags('] ['); ?>
<?php $this -> category(','); ?>

会解析变成带有 <a></a> 标签的内容,但是最外层已经有一个 a 标签包裹了,所以会导致样式问题

bhaoo commented 1 year ago

要解决这个问题就需要重新规划 a 标签力

LoCCai commented 3 months ago

原来如此

LoCCai commented 3 months ago

@bhaoo 大佬,我想问一下如果我修改这里的a标签用div在外面嵌套里面的话,懒加载部分加载的标签在哪里修改啊

bhaoo commented 3 months ago

@LoCCai 指的是瀑布流加载下一页的那个吗?可以说明再详细一点么,贴上些源码?Σ(・ิ¬・ิ)

LoCCai commented 3 months ago

就是我想把article标签里面追加的class为 post 的 a标签改为 div 。 然后不添加href指向。而后将指向性a标签(permalink)添加到index-img 和 index-primary部分。这样里面嵌套的a标签就不会有问题了。但是这样后续加载下一页时。追加到article的标签还是a标签。也就是需要改typecho 博客 下一页获取到的内容模板。但是我没找到在哪里。看那个cuckoo.min.js的IFS函数,没看太懂

LoCCai commented 3 months ago
<div class="article">

<?php if ($this->have()) : while ($this->next()) : if ($this->fields->articleType == "article" or $this->fields->articleType == NULL) { ?>

sticky();$this -> title(); ?>
[ tags('] ['); ?>]
category('->'); ?>❃ date(); ?> | 浏览| commentsNum('没有评论呐', '孤单 の 1 条评论', '%d 条评论'); ?>
excerpt(); ?>
<?php } elseif ($this->fields->articleType == "daily") { ?>
  <div class="mdui-card index-card-daily mdui-hoverable post">
    <div class="index-icon mdui-shadow-3">
      <div></div>
      <i class="mdui-icon material-icons">message</i>
    </div>
    <div class="mdui-card-primary">
        <div class="mdui-card-primary-title"><?php $this -> title(); ?></div>
      <div class="mdui-card-primary-subtitle mdui-typo"><strong>[<?php $this -> tags('] ['); ?>]</strong><br />
                <strong>❃<?php $this -> category('->'); ?>❃</strong>
                <?php $this->sticky(); $this -> date('Y-m-d H:i:s'); ?></div>
    </div>
    <div class="mdui-card-content mdui-typo"><?php parseContent(parseBiaoQing($this->content)); ?></div>
  </div>
  <?php
}
endwhile; ?>
</div>
<?php $this->pageLink('下一页', 'next'); ?>
LoCCai commented 3 months ago

var patt1 = /Powered By <a(.) href="http:\/\/www.typecho.org"(.)>Typecho<\/a>/i; var ivd = 'copy'; var IFS = function () { let infScroll = new InfiniteScroll('.article', { path: '.next', hideNav: '.next', append: '.post', history: false, button: '.changePage-load', status: '.changePage-end', checkLastPage: '.checkLast' }); infScroll.on('load', onPageLoad); infScroll.on('append', function () { defaults(); lazyload(); pjax.refresh($('.article')[0]); }); infScroll.on('last', function () { $('.changePage-load') .css('display', 'none') });

function onPageLoad() { if (infScroll.loadCount == 1) { infScroll.options.loadOnScroll = false; $('.changePage-load') .css('display', 'block'); infScroll.off(onPageLoad) } }

}; if ($('.article') .length && $('.changePage-load') .length) { IFS() }; defaults = function () { if (!patt1.test($(po + ck + ook) .html()) || !patt.test($(po + ck + ook) .html()) || $(po + ck + ook) .length == 0 || $(po + ck + ook) .css('d' + dwq + 'play') == 'none' || $(po + ck + ook) .css('v' + dwq + 'i' + acf + 'ty') == 'hidden' || $(po + ck + ook) .css('v' + dwq + 'i' + acf + 'ty') == 'collapse' || $(patt2) .css('d' + dwq + 'play') == 'none') { $(".mdui-card-primary-title, .mdui-card-content") .html(msg); $(".mdui-typo-title") .html(msg); $(po + ck + ivd) .html(msg); $(".mdui-card-primary-title") .html(msg); $(".article-page") .html(msg); $(".post-content") .html(msg) } };

LoCCai commented 3 months ago

大概就是这样,想让后面追加到article的a标签变成div,并和php中的一样