我一向收集的文章比较多,一直也不敢多转载,就是因为不好添加转载来源声明!但也有些自己写的文章,加个原创图标以示区别。 利用typecho的自定义字段来实现此功能,以JOE主题为例,记录如下。
效果如图:
一、core/core.php 添加如下代码:
$Copyrightnew = new Typecho_Widget_Helper_Form_Element_Radio('Copyrightnew',
array('0' => _t('原创版权'),
'1' => _t('投稿版权'),
'2' => _t('转载文章')),
'1', _t('投稿版权'), _t('版权类型默认:投稿版权,文章版权类型,可以在主题设置里面新增和编辑版权类型,'));
$layout->addItem($Copyrightnew);
$url = new Typecho_Widget_Helper_Form_Element_Text('url', NULL, NULL, _t('转载文章来源'), _t('在这里填入一个文章 URL 地址,留空则没有'));
$zzz = new Typecho_Widget_Helper_Form_Element_Text('zzz', NULL, NULL, _t('作者名'), _t('原作者'));
$url->input->setAttribute('class', 'w-100 setfb');
$layout->addItem($url);
$layout->addItem($zzz);
二、public/copyright.php里修改为如下代码:
<?php if($this->fields->zzz != ''){
echo '<span>转载于: </span><p>'.$this->fields->zzz.'</p>';
}else{
echo '<span>发表者:</span><p>';
$this->author();
echo'</p>';
}
?>
<?php if($this->fields->url != ''){
echo '<span>来源网址: </span><p>'.$this->fields->url.'</p>';
}else{
echo '<span>本文链接:</span><p>'.$this->permalink.'(非特殊说明,文章均收集于互网联!)</p>';
}
?>
三、post.php里添加:<?php if ($this->fields->Copyrightnew =='0'):?><div class="originalImg"></div><?php endif; ?>
放到 <div class="joe_main joe_post">
后面。
四、添加CSS.originalImg { background: url(assets/img/original.png); background-position: 0 0; background-size: 64px; width: 64px; height: 64px; float:right; right: 0; top: 0;}
图片自取。
图标弄上去了 路径也是对的 就是不显示 郁闷
F12看一下。 文章页面的originalImg class有没有?
图片在哪呢
请问图片图标在哪里?
F12扒
添加了不行,图片弄了,图标不显示,其他都正常
public/copyright.php这里怎么改的?是整个文件都替换还是。。。
把代码放到你要修改的地方就可以了啊
copyright.php这里的代码是怎么改的?需要替换哪段
报错 Call to a member function addItem() on null
如果改了url zzz,记得都要改才行的。
可以说详细点么