Domanda

ho costruire un "Chi l'Autore" viste bloccare in Drupal. Questo è legato alla user_id del creater del nodo corrente, che funziona grande.

Tuttavia, ora vorrei sapere come limitare la visualizzazione a determinati tipi di contenuto. Non voglio per mostrare su una storia, solo sui blog. Ho cercato di farlo con argomenti, ma non ho avuto fortuna finora.

Qualcuno mi può aiutare?

È stato utile?

Soluzione

Mi consiglia di utilizzare Pathauto per dare ad ogni nodo del tipo di un prefisso comune URL (una buona idea in ogni caso), in modo da poter utilizzare un semplice blocco visibilità restrizione percorso. Ad esempio, si imposta il tipo di contenuto modello percorso "articolo / [titolo]" e poi impostare il percorso di blocco all ' "articolo / *"

Altri suggerimenti

No, è possibile utilizzare build-in argomento validatore di vista.

es. Come si fa a limitare ottica di valorizzazione uid di un utente?”Senso, come può un dato vista essere visto solo dal utente connesso che possiede quel contenuto.

Ecco il Visualizzazioni Argument codice PHP Validator.

global $user; return $argument[0] == $user->uid;

È sufficiente creare la vista, andare alla pagina di configurazione di blocco e utilizzare PHP per le regole del blocco di visibilità. Per mostrare il blocco solo su certi tipi di contenuto, utilizzare:

<?php
$match = FALSE;
$types = array('story' => 1, 'page' => 1);
if (arg(0) == 'node' && is_numeric(arg(1))) {
  $nid = arg(1);
  $node = node_load(array('nid' => $nid));
  $type = $node->type;
  if (isset($types[$type])) {
    $match = TRUE;
  }
}
return $match;
?>

Questo codice è tratto dal drupal.org, Panoramica-approccio per bloccare la visibilità

Meglio:

<?php
$match = FALSE;
$types = array('story' => 1, 'page' => 1);
if (arg(0) == 'node' && is_numeric(arg(1))) {
  $nid = arg(1);
  $node = node_load($nid);
  $type = $node->type;
  if (isset($types[$type])) {
    $match = TRUE;
  }
}
return $match;
?>
Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top