Drupal добавление ссылки «добавить новый» с использованием PHP-кода - PullRequest
0 голосов
/ 12 февраля 2011

У меня есть тип узла cck, который содержит ссылку на тип узла галереи.Поскольку я не хочу на самом деле создавать новую галерею для любого имеющегося у меня узла CCK, я бы хотел сделать следующее.на странице, где отображается узел cck;

, если для данного узла существует ссылка на галерею, отобразите ссылку на эту галерею.Если галереи не существует, я хотел бы отобразить ссылку «добавить галерею», в идеале это программно создаст новый узел галереи и ссылку.Я также хотел бы автоматически заполнить заголовок, а также информацию об авторе (без предоставления пользователю доступа к этому).Я просмотрел drupal.org, чтобы попытаться найти информацию, но не могу ее понять.

Спасибо

1 Ответ

0 голосов
/ 13 февраля 2011
 <?php
    $node_A = node_load($some_nid);
    if(empty($node_A->field_type_gallery_node_ref[]['nid'] )// imp point this field is an array
    {
    //link to add gallery page
    //call a function for creating a node of gallery and return the nide and you can pass  //parameters like nid of A etc..then return the new node from the function
$node_GALLERY =  get_gallery_node_new($node_A->nid);
$node_type_A->field_type_GALLERY_node_ref[]['nid'] = $node_GALLERY;
}
    else
    { 
    //display this gallery
    }
    ?>

, чтобы получить nid текущего узла:

<?php
if (arg(0) == 'node' && is_numeric(arg(1))) 

$nodeid = arg(1);

?>

или использовать любое значение поля CCK A (которое вы знаете) и применить объединение с таблицей узлов

$nid_ref_query ='SELECT nid FROM `content_type_A` cto join node n on cto.nid=n.nid where cto.field_some_field_you_know =' . $something;
$nid_array = db_fetch_array(db_query($nid_ref_query));
$nid = $nid_array['nid'];
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...