Pregunta

Estoy creando un pequeño sistema de reservas. puede crear nodos de un tipo que puede ser reservated, como un proyector. Tengo una vista de calendario con pantallas normales. Me Addes un argumento para el nodo de referencia, pero tengo problemas para definir la devolución de llamada página. Alguien me puede ayudar a cabo?

Ahora quiero crear elementos de menú para los diferentes nodos

function your_module_menu() {
$nodeid //semantic, node is loaded right
    $items['reservate/nodeid/$year-w$week'] = array( // semantic, url is built right
        'title' => t('Your Module Name'),
        'description' => t('Menu's description.'),
        'page callback' => 'page_callback_funtion',
        'page arguments' => array('page callback arguments'),
        'access callback' => 'your_module_access',           // the function that validates access based on the user's role(s).
        'access arguments' => array(array(role1', 'role2')), // list of roles authorized - note nested array.
        'type' => MENU_NORMAL_ITEM,
    );
    return $items;
}

@edit

bueno, tal vez no me explico bien :). Tengo un tipo de contenido: unidad, que puede ser reservado. para cada unidad creo, quiero generar un elemento de menú (que puedo hacer un menú a reconstruir en el nodo guardar o actualizar). el menú debe vincularse a una vista, con el ID de nodo (unidad) como un argumento en la URL.

¿Fue útil?

Solución 3

He encontrado una manera muy simple de hacerlo, acabo de crear una vista de bloque que crea los vínculos con algunos filtros.

simple y exactamente lo que necesitaba, parece que no puede entender por qué no había pensado en eso antes

Otros consejos

No estoy seguro de qué es exactamente lo que está tratando de hacer, pero si su objetivo es crear un elemento de menú, y no una nueva página en la que se define en el módulo personalizado, se debe utilizar el sistema de menús de Drupal. Puede crear elementos de menú que apuntan a cualquier URL que existe en su sitio.
En nodos este es especialmente fácil, ya puede hacerlo directamente el nodo editar / crear la forma.

Drupal almacena en caché los menús, por lo que no se puede crear elementos de menú con partes dinámicas de ellos, como el ID de usuarios, etc Si usted quiere hacer algo por el estilo, se debe crear una devolución de llamada común que sea redirige al usuario a la URL dinámica o la visualización de contenido basado en el usuario.

Actualizar

En lugar de tener que reconstruir el sistema de menú cada vez que se crea o se elimina un nodo, que no va a ser muy escalable, que podría en lugar de simplemente crear el nuevo elemento de menú, la hook_nodeapi , y eliminarlo cuando se elimina.

Si he entendido bien, que está tratando de crear automáticamente un elemento de menú cada vez que se añade un nuevo nodo de contenido de tipo "unidad". Si eso es correcto, me gustaría sugerir el uso de reglas de los módulos y un pequeño fragmento de PHP para tener un elemento de menú personalizado creado en varios eventos del sistema, tales como la creación de contenidos. Usted puede encontrar el tutorial que escribí sobre este tema útil:

http://jan.tomka.name/blog/programmatically- la creación de elementos de menú-drupal-

La idea es simple:. Configurar una regla en el módulo de las Reglas para una acción que se disparó a la creación o supresión de nodo y el uso de las llamadas a la API de Drupal que googletorp ha mencionado en realidad manipular los elementos del menú

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top