Kirby CMS - 帮助理解链接和对象

时间:2014-02-27 01:11:32

标签: php kirby

我们正在使用基于php的CMS Kirby,但我们无法理解我们可以(并且不能)使用链接的地方(当涉及到php时我们非常环保)。

我们有这样的产品部分:

|_Shop
  |_Sheets
    |_Sheet one
    |_Sheet two
  |_Bed spreads
    |_Bed spread one
    |_Bed spread two

正在尝试提供每个类别下所有产品子页面的列表。

我们如何做到这一点?

我们一直看到很多“对非对象的成员函数的调用”错误,我们假设这与我们链接事物的方式有关 - 例如我们尝试了很多方法,但目前正在尝试:

$productPages = $pages->findByDirname('sheets, duvet-covers, bed-spreads, pillowcases, table-linen');

但我们不确定如何找到这些网页的子代,将->visible()->children()添加到$pages的上方或foreach循环中,这会导致错误:

<?php foreach($productPages->visible()->children() as $pageList) : ?>

此外,我们可以看到$ page变量包含->visible()->children()变量,因此我们假设我们需要将$productPages变量移交给$page变量,以便我们可以使用{{1但不确定如何构建对不起的东西。

非常感谢任何正确方向的指示。

干杯

1 个答案:

答案 0 :(得分:1)

使用Call to a member function on a non-object时出现$productPages->visible()->children()错误的原因是$productPages不包含任何网页结果。

认为那是因为你正在使用findByDirname - 我不相信这会采用这样的列表。如果确实如此,该功能也需要使用该号码。

您最好使用采用uri路径的$pages->find($uri, [$anotherUri]),而不是dirname。

或者$pages->findByUID('sheets', 'bed-spreads', 'pillowcases')这是dirname但没有数字。

查看kirby备忘单 - http://getkirby.com/content/02-docs/kirby-cheatsheet.pdf

希望能让你朝着正确的方向前进。