阅读时间5分钟 (939字)

博客分类(第二部分)带微布局和语言覆盖

Blog Category (Part II) with Micro-Layout and Language Overrides

总是给博客分类视图一个独特且吸引人的外观是一个挑战。

除了我们在上一期(二月)尝试控制的简介文本外,博客条目还包括各种其他元素,如图像、作者姓名、分类名称、日期等。

通过更改它们,我们可以达到一种新的外观,因为尽管它们的个体尺寸不同,但它们在很大程度上影响了博客页面的外观。

所以在这里,我们将展示如何使用(所谓的)微布局覆盖来覆盖这些元素中的某些元素,结合语言覆盖,以进行这些精细的调整。

此外,我们将改进(*)我上一期的教程两步。

我们将如何做到这一点?

我们将使用Joomla标准模板“Protostar”为作者姓名、分类名称、发布日期和更多内容创建微布局和语言常量覆盖。

然后,我们将对我们的第一个教程进行两个更改,以确保100%可覆盖。

(博客改进(步骤C)是可选的。博客本身运行得很好,但正如“更好的是好的敌人”一样,你可以进行这些更改以在更新后保留参数输入。)

我们将遵循以下步骤

  1. 微布局和语言常量覆盖
  2. CSS更改
  3. 通过自动创建的简介文本改进博客(可选)

A. 微布局和语言常量覆盖

1. 作者姓名

我们将使用布局覆盖添加一个图标,并使用语言覆盖删除“撰写者”文本。

a. 复制文件

../layouts/joomla/content/info_block/author.php

..templates/protostar/html/layouts/joomla/content/info_block/author.php

打开文件,在行#13关闭标签之后,在行尾添加

<span class="icon-user"></span>

b. 在后端,扩展 > 语言 > 覆盖,我们将选择“新建”,在“语言常量 *”字段中输入常量“COM_CONTENT_WRITTEN_BY”。下面在“文本”字段中输入“%s”。


2. 分类名称

如上所述,我们将使用布局覆盖添加一个图标,并使用语言覆盖删除“分类”文本。

a. 复制文件 ../layouts/joomla/content/info_block/category.php

..templates/protostar/html//layouts/joomla/content/info_block/category.php

打开文件,在行号#13关闭标签之后添加

<span class="icon-folder-open"></span>

b. 如前所述,将语言常量“COM_CONTENT_CATEGORY”重写为“%s”

3. 发布日期

在此,我们将仅重写语言常量,然后将日期放置在图像的左上角(仅为了乐趣)。

a. 如前所述,将语言常量“COM_CONTENT_PUBLISHED_DATE_ON”重写为“%s”

b. 请参阅下文“CSS更改”步骤中的代码。

4. 阅读更多

我们将通过布局覆盖将按钮图标从左到右改变

a. 复制文件 ../layouts/joomla/content/readmore.php

..templates/protostar/html//layouts/joomla/content/readmore.php

b. 打开文件,剪切行号#18

<span class="icon-chevron-right"></span>

并将其粘贴到行号#32左右(在关闭标签</a>之前)

B. CSS更改

将以下代码输入到我们在教程第1部分创建的文件 ../templates/protostar/css/user.css 中。

/*将发布日期移动到图像的左上角*/
.blog.myAutoBlog .published {
position: absolute;
top: 10px;
background: #ff0000;
color: #fff;
padding: 5px;
left: -15px;

}
/*美化元素*/
.blog.myAutoBlog .btn {
background-color: #fff;
border: 1px solid #0088CC;
background-image: none;
box-shadow: none;
border-radius: 0px;
text-shadow: none;
color: #0088CC;
}

.blog.myAutoBlog .icons .btn {
background-color: transparent;
border: 0px;
}
.blog.myAutoBlog .icons .caret {
border-top: 4px solid #0088CC;
}
.blog.myAutoBlog .article-info.muted a{
color:#999;
}
.blog.myAutoBlog .article-info.muted {
border-bottom: 1px solid #fff;
padding: 0 0 10px;
margin-bottom: 10px;
}


C. 使用自动创建的简介文本改进博客(可选)

下一个2个更改的想法是将控制从模板参数移动到“菜单:编辑项目”的字段中的字符数,这将更容易在后台通过菜单项参数进行更改,并且在“菜单:编辑项目 > 博客布局”中。

第二个且更为重要的原因是,在下一个更新中,autoblog.xml 不会被像 templateDetails.xml 一样覆盖,因此我们将有一个100%可覆盖的安装。

我们将对前一篇帖子中创建的文件进行更改,包括autoblog_item.php 和 autoblog.xml。

1. autoblog.xml 的更改

我们将打开templateDetails.xml,并剪切我们在前一个教程中输入的这部分代码

<field name="charactersNumber">
label="博客简介文本字符数"
description="输入将从主文本中用于简介文本的最大字符数"
type="number"
default="200" />

现在我们将它粘贴到autoblog.xml中行号#222之后(在“field name = "show_subcategory_content"”字段之后)

2. autoblog_item.php 的更改

为了使前面的字段参数正常工作,我们必须更改创建简介文本的行,通过从模板而不是从autoblog.xml调用它

现有代码

<?php echo JHtml::_('string.truncate', strip_tags($this->item->introtext), $template->params->get('charactersNumber', 200));?>

新代码

<?php echo JHtml::_('string.truncate', strip_tags($this->item->introtext), $params->get('charactersNumber', 200));?>

 

现在在“菜单:编辑项目,博客布局选项卡”中看到参数

blog item parameters

结论

我们找到了一些我们在博客项中看到的元素所在的文件,覆盖了它们,并且还进行了一些语言常量的覆盖,以根据我们的需求进行更改。

一如既往,我们使用了灵活的Joomla覆盖,在这个特定的教程中,使用微布局和语言常量覆盖,以确保在下次更新时更改安全。

当然,上述一些更改可以使用CSS实现,但我通过覆盖来展示过程,以便您以后可以做出更广泛的变化。

此外,我们在第一篇教程中做了两项更改,以确保100%可覆盖。

来源
示例页面截图中的文章图片来自unsplash.com
Joomla! 文档 - docs.joomla.org

(*) 感谢 @pepperstreet 在第一篇教程中的评论,其中我基于博客改进。

《Joomla社区杂志》上发表的一些文章代表了作者对特定主题的个人意见或经验,可能不代表Joomla项目的官方立场

0
Joomla 2017年4月综述
 

评论

已经注册? 在此登录
尚未发表评论。成为第一个发表评论的人

通过接受,您将访问https://magazine.joomla.net.cn/外部第三方提供的服务