【问题标题】:Adding Joomla Article Order number inside an article在文章中添加 Joomla 文章订单号
【发布时间】:2016-02-16 11:58:33
【问题描述】:

我正在尝试创建一个 Joomla 站点,该站点将在每篇文章中显示文章订单号(不是文章 ID)。这样我就可以像处理一本书一样处理它了。

每个页面都会在角落显示文章订单号 - 就像一个页面。 这样我就可以让网站按类别建模,并且页面将在角落显示其页码(文章订单号)。

我想让用户能够像按类别阅读书籍一样观看页面。

我很高兴知道 - 如何在文章本身中添加文章订单号(针对每个类别)。

我确信有一个 PHP 代码可以做到这一点。 非常感谢您的帮助和协助。 阿耶

【问题讨论】:

  • 那么你是在使用文章管理器的自定义订单吗?

标签: joomla


【解决方案1】:

您需要覆盖模板中的默认文章布局。

如果您的模板还没有文章布局,您可以从模板覆盖 templates\[YOURTEMPLATE]\html\com_content\article\default.php 中的 components/com_content/views/article/tmpl/default.php 复制默认布局(将 [YOURTEMPLATE] 替换为您的实际模板名称。

然后,您可以使用在模板中需要的位置显示排序

<?php echo $this->item->ordering; ?>

您很可能希望检查某个条件(也许是文章的类别)以确定是否要显示排序。

另一种选择是创建替代布局,而不是覆盖默认布局。您可以将模板中的default.php 重命名为bookpage.php。然后,您将能够在文章选项中选择新布局作为替代布局。

【讨论】:

  • 感谢 Eric,这看起来是正确的方向。我不确定我是否完全理解它 - 我需要更改我的布局(或创建一个替代布局)并将你给我的 php 代码放入布局中。怎样才能看到文章里面的数字?谢谢你
  • 我的意思是能够对其进行样式设置和定位 - 我可以在 php 中创建一个类吗?以及如何在订单中添加 1 以避免将 0 视为页码?和一个简短的问题 - 我如何确保文章在我的类别中排序?谢谢!
  • 关于零我发现了如何做到这一点: echo $this->item->ordering+1;这行得通。
  • 从布局文件中,您可以根据需要使用基本的 PHP + html - 将其包装在 span 或带有类的 div 标签中,将其放置在模板中您需要的位置。要对类别中的文章进行排序,请使用后端的类别过滤器,按顺序排序并使用拖放操作。
  • 谢谢埃里克。我已经尝试过了,在我做出改变之后 - 我根本无法加载这篇文章。我可能使用错误的包装 - 我使用: echo "
    "; echo $this->item->ordering+1;回声“
    ”;
【解决方案2】:

您可以通过使用获取文章ID

Request::getVar('id');

更多信息,您可以查看链接 Joomla plugin : how to get article title and article id

对于 jquery,您可以这样做。您可以创建一个函数并在每个页面加载时调用它会对您的所有内容进行相应的排序。您也可以在 foreach 循环中分配其他属性。

<div id="allArticles">
   <article id="3">Article 3</article>
   <article id="1">Article 1</article>
   <article id="2">Article 2</article>
</div>

$("#allArticles article").sort(function (a, b) {
   return parseInt(a.id) > parseInt(b.id);
}).each(function(){
   var elem = $(this);
   elem.remove();
   $(elem).appendTo("#allArticles");
});

更多你可以在这里看到工作示例http://jsfiddle.net/THMu3/

【讨论】:

  • 谢谢。但我对不同的东西很感兴趣。正如我在帖子中提到的 - 我正在寻找文章订单号 - 而不是 ID。我想把数字放在文章里面(ID 对我没有帮助,因为我无法从 1、2、3 等开始......)我想能够把 Joomla 文章订单号放在里面文章本身。由于我动态添加文章,有时新文章会推送现有页面,我无法手动执行此操作 - 我需要使用代码添加。谢谢
  • 那么我会建议你使用 Jquery。它会相应地对您的文章进行排序,甚至对新的文章进行排序。从 1,2,3 等开始
  • 谢谢。你能帮我解决我需要使用的 JQuery 吗?
  • 谢谢。不确定我是否在关注您的回答。我希望能够在一个类别中订购所有文章,升序。我有(即)300 篇已经使用 ID# 91,100,320,430 等的文章,而不是 1,2,3。它们是在很长一段时间内创建的,并且没有以下 ID。我正在寻找的解决方案是 - 能够将#1 放在文章 id #91 中,将#2 放在 #100 等中。对于我现在拥有的所有 300 篇文章。它们按类别升序排列。因此,当我添加一篇标题为“AA”的新文章(即 ID #701)时,它将转到第 #1 页
  • 并且将是文章顺序中的第一个。因此 - 所有其他页面将相应设置 - 第 93 条现在将显示第 2 页而不是以前的第 1 页。我希望能够更改文章的顺序,并相应地更改每篇文章中的页码。谢谢
猜你喜欢
  • 1970-01-01
  • 2013-10-13
  • 2014-09-07
  • 2023-03-04
  • 2023-03-24
  • 2023-04-09
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多