添加T3框架Joomla的自定义字段

在我们以前的教程Joomla com_content延伸,我们已经向你展示了如何创建额外的字段(自定义字段)和显示它们在T3布局的显示。今天,我们回到了另一个高级教程关于Joomla的自定义字段(额外的字段),深入挖掘额外的字段和显示你如何实现你自己的专业的产品展示在我们最近的客户展示页面做的。 事不宜迟,让我们开始吧。

1:额外的字段类型
目前,T3框架支持多领域的3种类型,包括:

1.用于项目的额外字段

2.用于窗体的额外字段:菜单项、搜索、联系人、标签等。

3.模块类型的额外字段 今天,我们将重点了解

1:文章的额外字段。

额外字段

2:如何开展? 在这个过程中有4个步骤:
1.定义每个组中的额外的字段组和额外字段

2.获得额外的字段

3.如何使用额外的字段

4.为额外字段的样式

2.1添加额外的字段组,并在每个组中定义额外的字段 在客户展示,你将能够看到以下:

1.网站的名称:可以通过使用文章的标题来完成,所以我们不需要一个额外的字段。

2.用户名:这是成员的用户名在我们JoomlArt的论坛,这将是我们第一次额外字段。

3.缩略图:这是网站的缩略图,这将是我们的第二个额外的字段。

4.网站的网址:直接你到页面时,悬停在网站的缩略图,这将是我们的第三个额外的字段。

5.joomlart模板名称:我们的客户使用来开发他们的网站模板,这将是我们额外的第四场。

这增加了4个额外的领域,我们需要为客户展示。下一步呢?

创建XML文件。文件所在的文件夹模板/extrafields t3_bs3_blank等。您可以在一个多个字段组中定义XML文件。在每一组中,它可以有一个或多个额外的字段。

用代码格式化的: 定义额外的字段组:

定义额外字段: Extra field value 1 Extra field value 2 ![额外字段1](https://img-blog.csdnimg.cn/img_convert/36516bfb3819887fe5751282b3821797.png#pic_center)

定义在客户展示页中的每个组中的额外的字段组和额外字段 客户展示文章的完整的XML文件:

<?xml version="1.0" encoding="utf-8"?> 以上user-sites.xml文件定义:

额外的字段组是“额外的字段”

额外的域用户名为:美国,美国的ID,邮件,网址为,美国为模板的缩略图。
所有额外的域的类型是“文本”

2.2获得额外的字段 在创建额外的字段Joomla不支持,我们已经创建了一个覆盖布局文件,我们想显示这些额外的领域。

你可以在模板/ t3_bs3_blank / HTML / com_content /分类得到那些覆盖布局文件。 对于客户展示页面,我们需要有以下的覆盖布局文件:

showcase.php

showcase.xml

showcase_item.php

user-sites.xml文件定义

覆盖您将需要为客户展示的布局文件

#1: showcase.php file

<?php /** * @package Joomla.Site * @subpackage com_content * * @copyright Copyright (C) 2005 - 2013 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ // no direct access defined('_JEXEC') or die('Restricted access'); $cols = $this->params->get('num_columns', 3); $span = floor(12 / $cols); $key = 0; $items = $this->items; ?>
<?php if ($this->params->get('show_page_heading', 1)) : ?> <?php endif; ?> <?php //JAHelper::loadModules('inline') ?>
<?php foreach ($items as $item): ?> <?php if ($key % $cols == 0) : ?>
<?php endif ?>
<?php // Load category_item.php by default $this->item = $item; echo $this->loadTemplate('item'); ?>
<?php if ((($key+1) % $cols == 0) || $key+1 == count($this->items)) : ?>
<?php endif ?> <?php $key++; endforeach; ?>
<?php if ($this->pagination->getPagesLinks()): ?>
<?php echo $this->pagination->getPagesLinks(); ?>

<?php echo $this->pagination->getPagesCounter(); ?>

<?php endif; ?>
#2: showcase.xml file <?xml version="1.0" encoding="utf-8"?> <![CDATA[COM_CONTENT_CATEGORY_VIEW_BLOG_DESC]]> JGLOBAL_USE_GLOBAL JGLOBAL_NO_ORDER JGLOBAL_TITLE_ALPHABETICAL JGLOBAL_TITLE_REVERSE_ALPHABETICAL JGLOBAL_CATEGORY_MANAGER_ORDER JGLOBAL_USE_GLOBAL COM_CONTENT_FEATURED_ORDER JGLOBAL_MOST_RECENT_FIRST JGLOBAL_OLDEST_FIRST JGLOBAL_TITLE_ALPHABETICAL JGLOBAL_TITLE_REVERSE_ALPHABETICAL JGLOBAL_AUTHOR_ALPHABETICAL JGLOBAL_AUTHOR_REVERSE_ALPHABETICAL JGLOBAL_MOST_HITS JGLOBAL_LEAST_HITS JGLOBAL_ORDERING JGLOBAL_USE_GLOBAL JGLOBAL_CREATED JGLOBAL_MODIFIED JPUBLISHED JGLOBAL_USE_GLOBAL COM_CONTENT_FIELD_VALUE_USE_ARTICLE_SETTINGS JHIDE JSHOW JGLOBAL_USE_GLOBAL COM_CONTENT_FIELD_VALUE_USE_ARTICLE_SETTINGS JNO JYES JGLOBAL_USE_GLOBAL COM_CONTENT_FIELD_VALUE_USE_ARTICLE_SETTINGS JHIDE JSHOW JGLOBAL_USE_GLOBAL COM_CONTENT_FIELD_VALUE_USE_ARTICLE_SETTINGS COM_CONTENT_FIELD_OPTION_ABOVE COM_CONTENT_FIELD_OPTION_BELOW COM_CONTENT_FIELD_OPTION_SPLIT JGLOBAL_USE_GLOBAL COM_CONTENT_FIELD_VALUE_USE_ARTICLE_SETTINGS JHIDE JSHOW JGLOBAL_USE_GLOBAL COM_CONTENT_FIELD_VALUE_USE_ARTICLE_SETTINGS JNO JYES JGLOBAL_USE_GLOBAL COM_CONTENT_FIELD_VALUE_USE_ARTICLE_SETTINGS JHIDE JSHOW JGLOBAL_USE_GLOBAL COM_CONTENT_FIELD_VALUE_USE_ARTICLE_SETTINGS JNO JYES JGLOBAL_USE_GLOBAL COM_CONTENT_FIELD_VALUE_USE_ARTICLE_SETTINGS JHIDE JSHOW JGLOBAL_USE_GLOBAL COM_CONTENT_FIELD_VALUE_USE_ARTICLE_SETTINGS JNo JYes JGLOBAL_USE_GLOBAL COM_CONTENT_FIELD_VALUE_USE_ARTICLE_SETTINGS JHIDE JSHOW JGLOBAL_USE_GLOBAL COM_CONTENT_FIELD_VALUE_USE_ARTICLE_SETTINGS JHIDE JSHOW JGLOBAL_USE_GLOBAL COM_CONTENT_FIELD_VALUE_USE_ARTICLE_SETTINGS JHIDE JSHOW JGLOBAL_USE_GLOBAL COM_CONTENT_FIELD_VALUE_USE_ARTICLE_SETTINGS JHIDE JSHOW JGLOBAL_USE_GLOBAL COM_CONTENT_FIELD_VALUE_USE_ARTICLE_SETTINGS JHIDE JSHOW JGLOBAL_USE_GLOBAL JHIDE JSHOW JGLOBAL_USE_GLOBAL JHIDE JSHOW JGLOBAL_USE_GLOBAL COM_CONTENT_FIELD_VALUE_USE_ARTICLE_SETTINGS JHIDE JSHOW JGLOBAL_USE_GLOBAL COM_CONTENT_FIELD_VALUE_USE_ARTICLE_SETTINGS JHIDE JSHOW JGLOBAL_USE_GLOBAL COM_CONTENT_FIELD_VALUE_USE_ARTICLE_SETTINGS JHIDE JSHOW JGLOBAL_USE_GLOBAL COM_CONTENT_FIELD_VALUE_USE_ARTICLE_SETTINGS JHIDE JSHOW JGLOBAL_USE_GLOBAL COM_CONTENT_FIELD_VALUE_USE_ARTICLE_SETTINGS JNO JYES #3: showcase_item.php file <?php // no direct access defined('_JEXEC')ordie('Restricted access'); // Define default image size (do not change) $params =newJRegistry($this->item->attribs); //echo "[".ContentHelperRoute::getArticleRoute($this->item->slug, $this->item->catid)."]"; $link =JRoute::_(ContentHelperRoute::getArticleRoute($this->item->slug, $this->item->catid)); $products_info =JAFactory::getProducts(); $tplname = $params->get('template_name'); $jirakey = $params->get('jira_key'); // $ususername = $params->get('us-username'); // $usemail = $params->get('us-email'); // $usurl = $params->get('us-url'); // $usthumbnail = $params->get('us-thumbnail'); // $ustemplate = $params->get('us-template'); ?>

<divclass=“thumbnail pd-list-item”>
<divclass=“item-image pd-screen”>
<divclass=“pd-screen-img”>
<?php echo htmlentities($this->item->title)?>

<?php $state = $params->get('special_state'); if(is_array($state)&& count($state)): foreach($state as $st): ?> <?php echo $st ?> <?php endforeach; endif;?>

增加额外字段的样式 风格:额外的客户展示场

// USER SHOWCASE

// ---------------------------------------------------------

.mod-masthead {

position: absolute;

top:0;

right:@global-margin;

.btn-primary {

border-radius:30px;

font-size:(@t3-font-size-bigger *1.5);

padding:(@global-padding /2)@global-padding;

}

}

.showcase {

.pd-info-list {

font-size:@font-size-base;

}

.pd-list-item .info-list em {

display:inline-block;

}

.pd-list-item .item-image .item-mask {

background: rgba(0,0,0,.3);

display: none;

height:100%;

position: absolute;

top:0;

left:0;

width:100%;

}

.pd-list-item {

.pd-screen-img img {

transition: all 350ms;

transform: translateZ(0px);

}

.pd-cta > li {

@media(max-width:@screen-sm-max ){

width:100%;

}

}

i {

color:@gray-light;

}

&:hover {

.pd-screen-img img {

transform: scale(1.1,1.1);

}

.pd-cta > li > a {

background:@green;

border-color:@green;

color:@white;

opacity:1;

i {

color:@white;

}

}

}

}

}

请编译less、CSS使新补充的风格将被编译到CSS。
在这里插入图片描述

2.4如何使用额外的字段

1:创建一个类,要分配的额外字段组。

在这里插入图片描述

为类别分配额外的字段组

2:在每一篇文章从创造的类别额外字段设置值。

在这里插入图片描述

在每一篇文章中添加额外的内容

3:创建菜单项

创建菜单式菜单xlayout -展示,菜单将从一个类别,我们分配的额外字段组为获取内容在这里插入图片描述

菜单设置:指定覆盖布局(xlayout -展示)

检查前页。
在这里插入图片描述

前页中的额外字段

这是你如何快速添加文章Joomla的自定义字段在纯三组合布局转化为定制产品展示你的Joomla网站。 祝你好运!

本文转自六艺开源:阅读原文

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Joomla extensions是指为Joomla网站平台开发的插件或扩展程序,用于增加网站的功能和特性。这些插件可以用于创建搜索组件和模块,以实现在Joomla数据库中可配置表列的搜索功能。可以创建两个表来存储搜索词和搜索结果的信息,通过记录所有搜索短语并将相应的结果存储到不同的表中。同时,可以创建两个模块来显示先前的搜索结果,可以根据需求设置显示的结果数量,并通过SEF方式显示。这些扩展程序可以通过Joomla平台进行配置,具体的配置信息将在之后发送给使用者。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* *2* [Joomla extensions coding Search for somebody with much experience of Joomla. $10000](https://blog.csdn.net/huangweijian888/article/details/2348329)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"] - *3* [Joomla-Questions-and-Answers:问题和答案](https://download.csdn.net/download/weixin_42181888/18985151)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"] [ .reference_list ]

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值