我是Drupal的新手,實在不知道要尋找什麼。在當前登錄用戶的基礎上過濾瀏覽內容
我需要實現這樣的行爲:
- 我創建一個X類型的內容
- 內容X的可能,並會包含我的門戶網站的用戶名在它
- 用戶U登錄到我的門戶並列出所有的X(使用視圖)
- 我想過濾所有的X到只有這些,其中U被提及。
我不想爲此使用組,因爲會有100多個用戶,並且使用組和權限會非常煩人。
編輯 可用上下文過濾器:
我是Drupal的新手,實在不知道要尋找什麼。在當前登錄用戶的基礎上過濾瀏覽內容
我需要實現這樣的行爲:
我不想爲此使用組,因爲會有100多個用戶,並且使用組和權限會非常煩人。
編輯 可用上下文過濾器:
我修復它非常討厭和醜陋的方式。我已經改變了我的node.tpl.php
主題有<article>
節渲染有條件:
<?php
$renderContent = TRUE;
$fieldname = 'field_fulltext_user_search';
if (property_exists($node, $fieldname) && array_key_exists($node->language, $node->{$fieldname})) {
$fieldValue = $node->{$fieldname}[$node->language][0]['value'];
if (isset($fieldValue) && $fieldValue) {
// check if content contains current user's name
$safeBody = $body[0]['safe_value'];
$theUser = $user->name;
$renderContent = strpos($safeBody, $theUser)!==false;
}
}
if ($renderContent):
?>
所以現在,當一個節點有field_fulltext_user_search
領域,其價值是true
則節點搜索內容當前用戶名。如果它不存在,則不呈現節點。
這個任務可能有更好的解決方案,但這對我來說工作得很好。如果你能想到更好的,請告訴我。
遵循以下步驟:
在您的視圖設置頁面,在 「高級」 部分,點擊添加新的 「語境參數」 。
從字段列表中,選擇包含在你的內容類型X.
從部分「當過濾器值不可用」的「用戶名」字段中,選擇「提供默認值」對於該類型,請選擇「來自登錄用戶的用戶ID」。
這就是全部。
沒有這樣的字段 – SOReader
你在哪裏引用你的內容類型X中的用戶? –
身體/描述。我寫的例子是這樣的:「感謝u1,u2。u3 - 你們搖滾!」,並且我想讓這個節點只對用戶u1,u2,u3可見。它不是一個引用本身,它只是一個字符串,其中的子字符串包含用戶的名稱 – SOReader