Limitar creación de contenidos

Events happening in the community are now at Drupal community events on www.drupal.org.
Posted by Lato on March 17, 2018 at 1:19am

Hola

Estoy iniciando en el mundo de Drupal y escogí la versión 8, aunque des afortunadamente veo que no hay tantos módulos como en la versión 7.

El proyecto que estoy desarrollando consta de dos roles: Anunciante y Consumidor, el Anunciante puede publicar un tipo de contenido llamado Anuncio, sin embargo necesito que solo pueda publicar un anuncio

¿Cómo se le puede hacer para limitar la creación de contenido a solo uno?

Un saludo y de antemano gracias.

Categories: ,

Comments

No estoy seguro si programas...

Posted by spideep on March 17, 2018 at 6:16am

Esta porción de código valida (antes del submit del formulario) que el usuario actual no sea author de un "article" ya existente.

<?php

function check_authority()
{
$userid = \Drupal::currentUser()->id();
$nids = \Drupal::entityQuery('node')
->
condition('type', 'article')
->
execute();
foreach (
$nids as $nid) {
$authorid = Node::load($nid)->getOwnerId();
if (
$authorid === $userid) {
return
TRUE;
}
}
return
FALSE;
}

function
node_creation_restriction_form_node_form_alter(&$form, FormStateInterface $form_state)
{
$form['#validate'][] = 'node_creation_resriction_node_form_validate';
}

function
node_creation_resriction_node_form_validate($form, FormStateInterface $form_state)
{
$node = $form_state->getFormObject()->getEntity();
if (
$node->getType() == 'article') {
if (
check_authority()) {
$form_state->setErrorByName('Restricted node creation', t('This user is already author of an article.'));
}
}
}
?>

Alexis Rengifo

Si programo gracias

Posted by Lato on March 17, 2018 at 7:14am

Muchas gracias por el código, aunque tiene rato que no agarro php no creo tener mayor problema.

Sólo me queda una duda. ¿Dónde inyectó el código?
¿Hay alguna forma de ver el código fuente ?

De nuevo gracias.

Lo puse en github

Posted by spideep on March 17, 2018 at 7:48am

Alexis Rengifo

Gracias

Posted by Lato on March 19, 2018 at 3:31am

Ya voy entendiendo un poco mas como funciona Drupal.

Probe el código y funciona, muchas gracias.

Spanish

Group organizers

Group notifications

This group offers an RSS feed. Or subscribe to these personalized, sitewide feeds:

AltStyle によって変換されたページ (->オリジナル) /