簡體   English   中英

Node.tpl字段的Drupal 6 php包含而不是等於

[英]Drupal 6 php for node.tpl field contains rather than equal to

我已經編輯了我的問題,作為對第一位評論者的回復。

我是PHP和Drupal模板的新手,並且不是經驗豐富的程序員。

我的組織全年都有活動。 對於每個事件,我們都會為匿名用戶或我們的成員(自定義角色)提供錄音,演講者幻燈片和其他材料。 每個事件都有多個文件,是否將其提供給匿名用戶或我們的成員使用,將逐個文件進行。 因此,活動可以使匿名用戶可以使用某些文件,而僅我們的成員可以使用其他文件。

我們正在使用ImageField擴展字段模塊將字段添加到文件上傳中,並具有一個名為“公開”的復選框以及“描述”和“排序順序”(我希望可以用來對文件進行排序以顯示在頁面...但這不是優先事項)。 內容編輯器將選中該框,以使該文件可用於匿名用戶,但默認設置僅適用於我們的成員。

第一位評論者說,字段內容看起來像一個序列化數組:

a:3:{s:11:"description";s:50:"text text text text text";s:19:"fapi_sort_order_key";a:3:{s:4:"body";s:1:"1";s:6:"format";i:0;s:5:"style";s:9:"textfield";}s:29:"workflow_fapi_make_public_key";i:1;}

我想評估此字段,以查看“ workflow_fapi_make_public_key”部分是1還是0,並根據結果顯示不同的node.tpl.php文件。

我開始

<?php if ($node->field_eli_event_files_data[0]) : ?>

然后繼續

<?php if (strpos($node->field_eli_event_files_data, '"workflow_fapi_make_public_key";i:0') !== FALSE) : ?>
  <h1>Hi there!</h1> 
<?php endif; ?>

后者的陳述總是錯誤的。

關於如何最好地實現這一點的任何建議將不勝感激。

謝謝。

您提交的字段的值是在數據庫中找到的序列化表格,即用於在單個數據庫文本字段中存儲復雜變量(在這種情況下為數組)的值的字符串。 在節點對象的任何地方都找不到此字符串。 如果您需要更多信息,請參閱php.net網站中的serialize()unserialize()函數文檔。

如果需要測試workflow_fapi_make_public_key $node->field_IMAGEFIELD_NAME[0]['data']['workflow_fapi_make_public_key']的值,則可以在$node->field_IMAGEFIELD_NAME[0]['data']['workflow_fapi_make_public_key']找到它(您應通過Devel模塊或其他檢查節點內容的方法對此進行驗證)。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM