【问题标题】:Modx evo array valueModx evo 数组值
【发布时间】:2013-12-06 16:40:42
【问题描述】:

大家晚上好。

我目前正在重写我的网站,并且正在尝试创建一个 sn-p,它将各种值输出到 MODX(进化)页面中的数组中。我有一个名为SYSTEM_STATUS 的sn-p 设置如下;

<?php
    $statusfile = file_get_contents('URL_REMOVED');
    $statusarray = json_decode($statusfile, true);

    // Parsing omitted

    $_OUTPUTARR = Array('API_IMAGE' => $_APIDBIMAGE,
                        'API_MSG' => $_API_STATUS_MSG,
                        'API_COLOR' => $_APICOLOR,
                        'API_PING' => $statusarray['API_PING'],
                        'SITE_IMAGE' => $_SITEDBIMAGE,
                        'SITE_MSG' => $_SITE_STATUS_MSG,
                        'SITE_COLOR' => $_SITECOLOR,
                        'SITE_PING' => $statusarray['SITE_PING'],
                        'CDN_IMAGE' => $_CFDBIMAGE,
                        'CDN_MSG' => $_CF_STATUS_MSG,
                        'CDN_COLOR' => $_CDNCOLOR,
                        'CDN_PING' => $statusarray['SITE_CF_PING']);
    return $_OUTPUTARR;
?>

使用[[!SYSTEM_STATUS]] sn-p 标记在页面顶部调用该 sn-p。但是,稍后在我的页面中,我想将其中一些值从数组打印到页面。例如,所有_COLOR值都用于改变指示状态的框的颜色(CSS属性),所有_IMAGE值都用于改变图像,所有_PING_MSG值都用于输出状态消息和 ping 值。

我想知道的是如何从该数组中“提取”值并在页面的相关点打印它们。假设我想将SITE_MSG 值作为字符串打印到页面。我将如何在 MODX Evolution 中做到这一点?

我原以为它会类似于[[!SYSTEM_STATUS $X=SITE_MSG]],但老实说我不确定这是否正确 - 感觉就像我需要更多的东西。我不确定我是否需要一些块或额外的 sn-ps,或者我是否只需要具有某种属性的标签,所以任何帮助将不胜感激。

【问题讨论】:

    标签: php modx modx-evolution


    【解决方案1】:

    好的,首先:如果您使用的是 Evolution,那么您的 sn-p 标签是错误的。您正在使用 Revolution 标签语法。它们应该是:

    • [!SYSTEM_STATUS!](未缓存)
    • [[SYSTEM_STATUS]](缓存)

    有两种方法可以将 sn-p 中的值打印到页面上。

    1 - 您可以返回一个值,该值将准确打印在页面上 sn-p 标记出现的位置。例如:

    // replaces [!my_snippet!] with 'text'
    return 'text';`
    

    2 - 您可以设置占位符以将值输出到页面的不同部分。

    $modx-&gt;setPlaceholder('placeholder', 'some value');

    您的模板可能是:

    [!my_snippet!]
    
    <p>The value returned by my snippet is: [+placeholder+]</p>
    

    您可以设置任意数量的占位符。

    http://wiki.modxcms.com/index.php/API:setPlaceholder http://wiki.modxcms.com/index.php/Creating_Snippets http://wiki.modxcms.com/index.php/Snippet_call_anatomy

    【讨论】:

      猜你喜欢
      • 2014-12-07
      • 1970-01-01
      • 2012-04-24
      • 1970-01-01
      • 2012-10-11
      • 1970-01-01
      • 2016-05-31
      • 2022-08-12
      • 1970-01-01
      相关资源
      最近更新 更多