Lavjaman képe

gondolom azt a hook_menu-t egy az egybe bemásoltad. Lemaradt a végén egy 's' a return-nél :)

/**
  * Implementation of hook_perm().
  */
function reserve_perm() {
  return array('access reservation form');
}
 
 
/**
  * Implementation of hook_menu().
  */
function reserve_menu() {
  $items = array();
 
  $items['reservation'] = array(
    'title' => 'Foglalás',
    'page callback' => 'drupal_get_form',
    'page arguments' => array('room_reserver_myform'),
    'type' => MENU_NORMAL_ITEM,
    'access arguments' => array('access reservation form'), //így csak az fér hozzá, aki benne van abban a csoportban, amelyikre engedélyezed ezt a hozzáférést
  );
 
  return $items;
}
 
 
function room_reserver_myform() {
  $form = array();
  $form['#submit'] = array('room_reserver_myform_submit');
 
  $form['firstname'] = array(
    '#type'=> 'textfield',
    '#title' => t('First name'),
    '#required' => TRUE,
  );
  $form['lastname'] = array(
    '#type'=> 'textfield',
    '#title' => t('Last name'),
    '#required' => TRUE,
  );
  $form['radio'] = array(
    '#type' => 'radio',
    '#title' => t('Sex'),
    '#default_value' => 'Male',
    '#options' => array(
      1 => 'Male',
      2 => 'Female',
    ),
    '#description' => t('Please choose an option.'),
  );
 
  $form['submit'] = array(
    '#type' => 'submit',
    '#value' => t('Elküldés'),
  );
  return $form;
}
 
function room_reserver_myform_submit($form, &$form_state) {
  //a form state-ben találhatóak az POST-olt adatok
  $values = $form_state['values'];
  //itt pedig elmendheted, ahogy kedved tartja.
  //viszont ha saját táblákkal dolgozol, akkor írj egy .install file-t is.
}
0
0

*----*----*

$node ? 'alma' : 'bor'

*----*----*

szantog képe

hoppa van egy kis szivas, kb zöldséget vadásztunk idáig
egyrészt jobban nem is nyúlhattam volna mellé a javascript tömbbel, de legalább ezt is megtudtuk.
másrészt meg ez nem egy classic drupal_add_js, hanem egy form elementhez egy process callbackben hozzácsapott js. @see form_process_machine_name

Szóval ezt eleve nem js_alterből kéne bántani, hanem _element_info_alterből.

  1. /**
  2.  * Implements hook_element_info_alter();
  3.  */
  4. function mymodule_element_info_alter(&$type) {
  5. foreach ($type['machine_name']['#process'] as $key => $process) {
  6. // Eltakaritjuk az eredeti form_machine_name processt, a sajatunkat fogjuk hasznalni
  7. if ($process == 'form_process_machine_name') {
  8. $type['machine_name']['#process'][$key] = 'mymodule_process_machine_name';
  9. }
  10. }
  11. }
  12.  
  13. /**
  14.  * A custom machine_name element process function to change transliteration method js.
  15.  */
  16. function mymodule_process_machine_name ($element, &$form_state) {
  17. // Eloszor athajtjuk az eredeti form processen, nem kinyirni akartuk az eredeti process, csak belebabralni.
  18. $element = form_process_machine_name($element, &$form_state)
  19.  
  20. foreach ($element['#attached']['js'] as $key => $js) {
  21. if ($js == 'misc/machine-name.js') {
  22. $element['#attached']['js'][$key] = drupal_get_path('module', 'mymodule') . '/js/machine-name.js';
  23. }
  24. }
  25.  
  26. return $element;
  27. }

Ja, a módosított js-t ne a sminkedbe tegyed, hanem a modulodhoz. Ha netán a modul anélkül a smink nélkül lesz használva, akkor sem fog eltörni.

1
0

----
Rájöttem, miért kérdezek olyan ritkán a drupal.hu-n. Amíg szedem össze az infokat a kérdéshez, mindig rájövök a megoldásra.

webform to gdocs

balazsgabi képe

Üdv Mindenkinek,

találtam fain kis modult (Webform to Google Docs) ami a webform eredményeit betolja a drive-ba

telepítettem, beállítottam, hibaüzeneteknek utánajártam, elvégeztem a módosításokat és működik. A gondom, hogy van egy Notice minden submitnál és erre guglizva nem találtam semmit. Maga hibaüzenet:

Notice: Undefined index: 0 webform_to_gdocs_webform_submission_insert() függvényben (.../sites/all/modules/webform_to_gdocs/webform_to_gdocs.module 98 sor).

Drupal verzió: 
Melyik modulhoz, modulokhoz kapcsolódik a téma?: 
LaciApu képe

Nem tudom, hogy a reptében hozzáadott form elemek belekerülnek-e a form visszatérési tömbjébe, de nem tartom valószínűnek. Szerintem hozd létre az összeset és a feleslegeset rejtsd el. Én így oldottam meg a felesleges mezők eltüntetését:

$(document).ready(function(){
 
  // az ingatlan típushoz nem illő mezőket elrejti
  elrejt($('#ingatlan-hirdetes-form-add #edit-ing-tip-id').val());
 
  // ha az ingatlan típus mező változik elrejti a felesleges mezőket
  $('#ingatlan-hirdetes-form-add #edit-ing-tip-id').change(function(){
    val = $(this).val();
    elrejt(val);
  });
});
 
 
/**
 * Az elrejtést végző függvény.
 */
 
function elrejt(val){
  switch(val){
    case '1':
    case '2':
      $('#edit-alap-ter-wrapper').show();
      $('#edit-telek-wrapper').hide();
      $('#edit-szoba-szam-wrapper').show();
      $('#edit-fel-szoba-szam-wrapper').show();
      $('#edit-epites-eve-wrapper').show();
      $('#edit-allapot-id-wrapper').show();
      $('#edit-futes-id-wrapper').show();
      break;
    case '5':
      $('#edit-alap-ter-wrapper').show();
      $('#edit-telek-wrapper').show();
      $('#edit-szoba-szam-wrapper').hide();
      $('#edit-fel-szoba-szam-wrapper').hide();
      $('#edit-epites-eve-wrapper').show();
      $('#edit-allapot-id-wrapper').show();
      $('#edit-futes-id-wrapper').show();
      break;
    case '6':
      $('#edit-alap-ter-wrapper').show();
      $('#edit-telek-wrapper').hide();
      $('#edit-szoba-szam-wrapper').hide();
      $('#edit-fel-szoba-szam-wrapper').hide();
      $('#edit-epites-eve-wrapper').hide();
      $('#edit-allapot-id-wrapper').hide();
      $('#edit-futes-id-wrapper').hide();
      break;
    case '7':
    case '8':
      $('#edit-alap-ter-wrapper').hide();
      $('#edit-telek-wrapper').show();
      $('#edit-szoba-szam-wrapper').hide();
      $('#edit-fel-szoba-szam-wrapper').hide();
      $('#edit-epites-eve-wrapper').hide();
      $('#edit-allapot-id-wrapper').hide();
      $('#edit-futes-id-wrapper').hide();
      break;
    default :
      $('#edit-alap-ter-wrapper').show();
      $('#edit-telek-wrapper').show();
      $('#edit-szoba-szam-wrapper').show();
      $('#edit-fel-szoba-szam-wrapper').show();
      $('#edit-epites-eve-wrapper').show();
      $('#edit-allapot-id-wrapper').show();
      $('#edit-futes-id-wrapper').show();
      break;
  }
}
0
0

Első modulom... és kérdéseim...

ZzzZzz képe

Sziasztok!

2napja kezdtem el foglalkozni a drupal rendszerrel. Kesobbiekben modulokat szeretnek hozza fejleszteni. PHP ismeretekkel rendelkezem, de meg igy se erzem teljesen ezt a nagyszeru rendszert.

Elso korben egy teljesen egyszeru vendegkonyvet szeretnek fejleszteni.

Leirom meddig jutottam, es melyek a szamomra nem vilagos dolgok.

Minden eszrevetelt szivesen fogadok a koddal kapcsolatban, mert biztosan lehet mindezt szebben s jobban.

Szoval a modulom neve guestbook lesz. Egyenlore semmi bonyolult muveletet nem szeretnek vele csinalni, csak tudja a kovetkezoket.

rejtett mail cím megvalósítás Drupal oldalon

vola képe

Kérlek türelemmel kezeljetek, kezdő drupalos vagyok, ez a legelső fórumos megszólalásom.

Segítségeteket kérem a következő megvalósításában!

A Jox.hu oldalán találtam egy nekem tetsző megoldást a honlapra kitett mail cím megszerzésének nehezítésére. Idézem a HTML kódot:

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
  <title>jox.hu antispam</title>
  <script type="text/javascript" language="JavaScript"><!--
  function swenSpam(x) {

php hiba,,,

Nitrocad képe

Üdv!

Drupal 4.7 alatt volt egy jó kis kód amivel az aktív szavazásokat lehetett random kiíratni blokkban:

$sql = db_rewrite_sql("SELECT n.nid FROM {node} n INNER JOIN {poll} p ON p.nid = n.nid WHERE n.status = 1 AND p.active = 1 AND n.moderate = 0 AND n.sticky=1 ORDER BY RAND()");
$nid = db_result(db_query_range($sql, 0, 1));
if (!$nid) {
  $sql = db_rewrite_sql("SELECT n.nid FROM {node} n INNER JOIN {poll} p ON p.nid = n.nid WHERE n.status = 1 AND p.active = 1 AND n.moderate = 0 ORDER BY RAND()");
  $nid = db_result(db_query_range($sql, 0, 1));
}
if ($nid) {

Freeblogos bejegyzések importálása Drupal alá.

nevergone képe

Sziasztok!

Mi jobbat lehetne csinálni egy ilyen szép nyári napon, mint Drupal modult fejleszteni?
Miután szenvedtem picit a fájlfeltöltéssel, elkészült a freeblog_import modulom első tesztváltozata, amely segítségével a Freeblog blogexportjával kimentett adatokat lehet Drupal rendszerbe beimportálni.
A modul messze nincs kész, és erősen átnézésre szorul, ezért sem vállalok garanciát a működésére. Mindenesetre én sikerrel végeztem el egy közel 1500 bejegyzést tartalmazó blogexport importálását.

webform modul altal kuldot level modositasa

york képe

Hali!

Olyan problemam van, hogy a webform modul altal kikuldott levelhez kellene csatolnom egy PDF-et, amit a bekuldott eredmenyek alapjan allitok ossze, Ehhez szuksegem lenne a nid (node id) es a hozza tartozo sid (submission id) ertekekre.

Drupal 6.12 menü ikonokkal template.php

makgab képe

Hi!

CSS-ből a menüpontokhoz ikonokat rendeltem. Ehhez a theme-nek keszitettem egy template.php-t (nem volt a pushbutton-nak):

<?php
 
function phptemplate_menu_item($link, $has_children, $menu = '', 
$in_active_trail = FALSE, $extra_class = NULL) {
   $class = ($menu ? 'expanded' : ($has_children ? 'collapsed' : 
'leaf'));
   if (!empty($extra_class)) {
     $class .= ' '. $extra_class;
   }
   if ($in_active_trail) {
     $class .= ' active-trail';
   }
   $id = 'item-'. strtolower(str_replace(' ', 
'_',strip_tags($link)));
Drupal verzió: