Pasqualle képe

ha egy vagy ket erteket akarsz atadni ket form kozott akkor a legegyszerubb a menu path hasznalata

pelda:

function test_menu() {
  $items['elso'] = array(
    'title' => 'Elso form',
    'page callback' => 'drupal_get_form',
    'page arguments' => array('test_elso_form'),
    'access callback' => 'user_access',
    'access arguments' => array('access content'),
    'type' => MENU_NORMAL_ITEM,
  );
  $items['masodik/%'] = array(
    'title' => 'Masodik form',
    'page callback' => 'drupal_get_form',
    'page arguments' => array('test_masodik_form', 1),
    'access callback' => 'user_access',
    'access arguments' => array('access content'),
    'type' => MENU_CALLBACK,
  );
  return $items;
}
 
function test_elso_form() {
  $form['adat'] = array(
    '#type' => 'textfield',
    '#default_value' => '',
    '#title' => 'Ertek',
    '#description' => 'Irj ide valamilyen erteket amit atadsz a masodik formnak.',
    '#size' => 50,
    '#maxlength' => 255,
  );
 
  $form['submit'] = array(
    '#type' => 'submit',
    '#value' => t('Save'),
  );
 
  return $form;
}
 
function test_elso_form_submit($form, &$form_state) {
  $form_state['redirect'] = 'masodik/'. $form_state['values']['adat'];
}
 
function test_masodik_form(&$form_state, $adat) {
 
  $form['adat'] = array(
    '#type' => 'textfield',
    '#title' => 'Ezt az erteket irtad be az elozo formon',
    '#default_value' => $adat,
    '#size' => 50,
    '#attributes' => array('disabled' => 'disabled'),
  );
 
  return $form;
}

ha tobb erteket akarsz atadni, akkor valoszinuleg valami multistep formot akarsz csinalni.
Itt volt rola szo http://drupal.hu/node/4380

ha valami mast akarsz, akkor jo lenne tudni mi a konkret celod..

0
0
aboros képe

fent idézett sminkfüggvénnyel meg tudtam csinálni, hogy a cart/checkout oldalon megjelnjenek szépen a termékek képei, viszont a cart/checkout/review oldalra ez már nem hatott, ott megint ezekkel a 'pane' -ekkel szórakozik és a termékeim már csak egy html táblázatként vannak jelen a kapcsolódó sminkfunkcióban ami ez:

/**
 * Theme the checkout review order page.
 *
 * @param $help
 *   A string containing the review order page help message.
 * @param $panes
 *   An associative array for each checkout pane that has information to add to
 *   the review page.  The key is the pane's title and the value is either the
 *   data returned for that pane or an array of returned data.
 * @param $form
 *   The HTML version of the form that by default includes the 'Back' and
 *   'Submit order' buttons at the bottom of the review page.
 * @return
 *   A string of HTML for the page contents.
 * @ingroup themeable
 */
function framework_uc_cart_checkout_review($help, $panes, $form) {
	#drupal_set_message('aboros');
  drupal_add_css(drupal_get_path('module', 'uc_cart') .'/uc_cart.css');
 
  $output = '<div>'. check_markup(variable_get('uc_checkout_review_instructions',  uc_get_message('review_instructions')), variable_get('uc_checkout_review_instructions_format', 3), FALSE)
           .'</div><table class="order-review-table">';
	$pane_n = 0;
  foreach ($panes as $title => $data) {
    $output .= '<tr class="pane-title-row"><td colspan="2">'. $title
              .'</td></tr>';
    if (is_array($data)) {
    	$row_n = 0;
      foreach ($data as $row) {
 
        if (is_array($row)) {
        	$class = 'class="pane-'.$pane_n.' row-'.$row_n;
          if (isset($row['border'])) {
            $class .= ' row-border-'. $row['border'] .'"';
          }
          else {
            $class .= '"';
          }
          $output .= '<tr valign="top"'. $class .'><td class="title-col" '
                    .'nowrap>'. $row['title'] .':</td><td class="data-col">'
                   . $row['data'] .'</td></tr>';
        	$row_n++;
        }
        else {
          $output .= '<tr valign="top"><td colspan="2">'. $row .'</td></tr>';
        }
      }
    }
    else {
      $output .= '<tr valign="top"><td colspan="2">'. $data .'</td></tr>';
    }
    $pane_n++;
  }
 
  $output .= '<tr class="review-button-row"><td colspan="2">'. $form
            .'</td></tr></table>';
 
  return $output;
}

na ebben már nincsenek $item -ek, csak $pane -ek vannak és azokban data, de a termékeket tartalmazó pane -ben már renderelt html táblázat van és az istennek nem bírok rájönni, hogy hogyan kerül az oda. :(

0
0

-
clear: both;

Geva képe

a commerce_bigfish_paymentgateway.rules.inc fájljába:

  1. /**
  2. * Implements hook_rules_event_info()
  3. * Define our new event and variables for Rules
  4. */
  5. function commerce_bigfish_paymentgateway_rules_event_info() {
  6. return array(
  7. 'commerce_bank_success' => array (
  8. 'label' => t('Bank transaction occurred'),
  9. 'module' => 'commerce_bigfish_paymentgateway',
  10. 'group' => 'bigfish_to_rules group',
  11. 'variables' => array(
  12. 'errcode' => array(
  13. 'label' => t('Result code'),
  14. 'type' => 'text',
  15. 'description' => t('Result code returned by transaction')
  16. ),
  17. 'message' => array(
  18. 'label' => t('Message'),
  19. 'type' => 'text',
  20. 'description' => t('Message returned by transaction')
  21. ),
  22. 'orderid' => array(
  23. 'label' => t('Order id'),
  24. 'type' => 'text',
  25. 'description' => t('Order ID of transaction')
  26. )
  27. )
  28. )
  29. );
  30. }
  31. // rules_invoke_event('commerce_bank_success', $one, $two, $three);

...a rules_invoke_event()-t kellene meghívni a modulból, ahol át lehetne adni az egyes értékeket is, amelyeket már remekül lehetne használni a helyzet azonosítására. ...az üzenet is megjelent ha így próbáltam üzenetet megjeleníteni.
...ufffff, utólag javítanom kellett még egy hibát, fogadjátok kétkedéssel

0
0
szt képe

ipeto nyomdokain elindulva ez lehet egy megoldás. Az alábbi két függvényt be kell másolnod a sminked template.php fájljába. A "SMINKEDNEVE" részt cseréld le a sminked nevére :)
(Lehet, hogy már van ilyen nevű függvényed: ebben az esetben a függvény végére másold be értelemszerűen a második function-t)

  1. /**
  2.  * Range tester function
  3.  */
  4. function test_range($int, $min, $max) {
  5. return ($min <= $int && $int <= $max);
  6. }
  7.  
  8.  
  9. /**
  10.  * Implements template_preprocess_html().
  11.  */
  12. function SMINKEDNEVE_preprocess_html(&$variables) {
  13. if (drupal_is_front_page()) {
  14. $hour = date('G');
  15. $hourclass = (test_range($hour, 0, 7) ? 'gray' : '');
  16. $hourclass = (test_range($hour, 8, 11) ? 'yellow' : $hourclass);
  17. $hourclass = (test_range($hour, 12, 15) ? 'blue' : $hourclass);
  18. $hourclass = (test_range($hour, 16, 19) ? 'orange' : $hourclass);
  19. $hourclass = (test_range($hour, 20, 22) ? 'black' : $hourclass);
  20. $hourclass = (test_range($hour, 23, 23) ? 'gray' : $hourclass);
  21. $variables['classes_array'][] = $hourclass;
  22. }
  23. }

Mentés után ne felejtsd el üríteni a cache-t!

2
0
zedclans képe

Tehát az eredeti issue ami kapcsolódik a témához:
https://www.drupal.org/node/1532526

Itt a #31-es hozzászólásba beszélik, hogy, hogyan kell hozzárendelni plusz mezőt a megjelentéshez, de nekem sehogy nem sikerült, működésre bírni.

Így próbáltam beszúrni a kódba: (commerce_email.module)

  1. case 'product':
  2. default:
  3.  
  4. $title = htmlentities($line_item_wrapper->commerce_product->title->value(), ENT_QUOTES, 'UTF-8');
  5. $feltet = $line_item_wrapper->field_termekfeltet->value()->name;
  6. //if (!empty($line_item_wrapper->commerce_product->product_id->value())){
  7. $title .= commerce_email_order_item_attributes($line_item_wrapper->commerce_product->product_id->value());
  8. //}
  9.  
  10. $rows[] = array(
  11. 'data' => array(
  12. array('data' => $title, 'style' => array('text-align: left;')),
  13. array('data' => $feltet, 'style' => array('text-align: left;')),
  14. array('data' => round($line_item_wrapper->quantity->value()), 'style' => array('text-align: left;')),
  15. array('data' => number_format(commerce_currency_amount_to_decimal($line_item_wrapper->commerce_unit_price->amount->value(), $currency_code), 2), 'style' => array('text-align: left;')),
  16. )
  17. );
  18. break;

A kódrészletből, a "Feltet" részt kell nézni, a többi részén nem változtattam, még sem sikerült kiírattatni.

Logba a következőt dobja: Notice: Trying to get property of non-object commerce_email_order_items()

Biztos valami alapvető butaságon bukok el, de már nem látom a fátol az erdőt.

0
0
ipeto képe

Igazából máshol is vannak ezzel kapcsolatban gondjaim. Teljesen lebutítottam a szabályt, hogy egyáltalán lássam, ki kivel van:

  1. { "rules_reviewers_update" : {
  2. "LABEL" : "Update reviewers",
  3. "PLUGIN" : "reaction rule",
  4. "OWNER" : "rules",
  5. "REQUIRES" : [ "rules", "devel" ],
  6. "ON" : { "node_update--thesis" : { "bundle" : "thesis" } },
  7. "IF" : [
  8. { "entity_has_field" : { "entity" : [ "node" ], "field" : "field_reviews" } },
  9. { "entity_has_field" : { "entity" : [ "node-unchanged" ], "field" : "field_reviews" } }
  10. ],
  11. "DO" : [
  12. { "LOOP" : {
  13. "USING" : { "list" : [ "node-unchanged:field_reviews" ] },
  14. "ITEM" : { "old_reviewer" : "Old reviewer" },
  15. "DO" : [ { "devel_debug" : { "value" : [ "old-reviewer" ] } } ]
  16. }
  17. },
  18. { "LOOP" : {
  19. "USING" : { "list" : [ "node:field_reviews" ] },
  20. "ITEM" : { "new_reviewer" : "New reviewer" },
  21. "DO" : [ { "devel_debug" : { "value" : [ "new-reviewer" ] } } ]
  22. }
  23. }
  24. ]
  25. }
  26. }

Szerintem ennek annyit kellene csinálnia, hogy külön kiírja a mező objektumának mentés előtti és utáni állapotát. Viszont előbbire nem tudom rávenni, mindkét esetben csak a mentés utánit kapom meg. Ha pedig lecserélem az eseményt "mentés előtt"-re, akkor csak az egyik ciklus fut le és a mentés előtti értéket kapom meg.

Hogyan lehetne mindkét fázishoz hozzáférni?

0
0

ImageField, alt,title

mester képe

Az ImageField 6.x-3.0-alpha2 modult próbálgatom, de sehogy se akar megjelnni a kép a alt és title tulajdonsága.

Volt valakinek hasonló hibája ?

Eredeti kiiratás:

function theme_imagefield_image($file, $alt = '', $title = '', $attributes = null, $getsize = true) {
  $file = (array)$file;
  if (!is_file($file['filepath'])) {
    return '<!-- file not found: '. $file['filepath'] .' -->';
  }
  $image_attributes = array();

Autoassingrole, token, regisztráció és trigger

jabba306 képe

Sziasztok!

Egy viszonylag egyszerű feladatom van, de problémába ütköztem.
A feladat annyi, hogy a regisztráció után a weboldal tulajdonosának kell egy email-t küldenem a regisztrációs adatokkal.
Egyszerű, csináltam néhány saját tokent, és triggerrel elküldöm a levelet.
A gondom az, hogy a autoassignrole modult is használom, mert a regisztráció során a felhasználónak választania kell role-t.

Azonban úgy tűnik nekem, hogy a hook_token_values($type, $object = NULL) fgv $object tömbjében azután jelennek meg a role adatok, miután a levél kiküldésre került.

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

Views PHP-ban megírva

charlos képe

Sziasztok!

Már átnyálaztam az összes drupal.org -os oldalt, ami a témába vág, de nem jutottam előrébb.

A feladat a következő lenne:
Adott 2 tartalomtípus.

Létre kellene hoznom egy olyan views felfedett szűrőt, ami egy legördülő mezőből veszi a szűrési feltételt.

A kódom így néz ki:

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