Miért nem menti el a field-et ?
Megtudja nekem mondani valaki, hogy miért nem menti el a Drupal a field tartalmát az adatbázisba?
A sor, csak éppen NULL van a szám helyett!?
autodate.install
Bocs nem figyeltem fel erre az aprosagra.
Itt van amit keresel:
/** * Theme the contents of e-mails sent by webform. *. * @param $form_values * An array of all form values submitted by the user. The array contains three * keys containing the following: * - submitted: All the submitted values in a single array keyed by webform * component IDs. Useful for simply looping over the values. * - submitted_tree: All the submitted values in a tree-structure array, keyed * by the Form Key values defined by the user. * @param $node * The complete node object for the webform. * @param $sid * The submission ID of the new submission. * @param $cid * If you desire to make different e-mails depending on the recipient, you can * check this component ID to output different content. This will be the ID * of the component that is a conditional e-mail recipient. For the normal * e-mails, it will have the value of 'default'.. */ function theme_webform_mail_message($form_values, $node, $sid, $cid) { global $user; $message = ''; $message .= t('Submitted on') .' '. format_date(time(), 'small') ."\n"; $ip_address = $_SERVER['REMOTE_ADDR']; if ($user->uid) { $message .= t('Submitted by user') .": $user->name [$ip_address]\n"; } else { $message .= t('Submitted by anonymous user') .": [$ip_address]\n"; } $message .= "\n"; $message .= t('Submitted values are:') ."\n\n"; $message .= theme('webform_mail_fields', 0, $form_values['submitted_tree'], $node); $message .= "\n\n"; $message .= t("The results of this submission may be viewed at:") ."\n"; $message .= url('node/'. $node->nid. "/submission/". $sid, NULL, NULL, TRUE); return $message; }
nem ismerem az artisteert kicsit se szóval fogalmam sincs milyen a kimenete egy ilyen összekattintott sminknek, de egy rendesen kódolt sminkben így csinálnám:
ezt valósítom meg, hogy a bodynak osztályokat adhassak a tartalom típus alapján (vagy bármi alapján)..
http://api.drupal.org/api/function/phptemplate_body_class/6
template.php
function SMINKNEVE_body_class($left, $right) { $classes = array(); if ($left != '' && $right != '') { $classes[] = 'sidebars'; } else { if ($left != '') { $classes[] = 'sidebar-left'; } if ($right != '') { $classes[] = 'sidebar-right'; } } if (arg(0) == 'forum') { $classes[] = 'forum'; } if (arg(0) == 'node' && is_numeric(arg(1))) { $node = node_load(arg(1)); $classes[] = 'node-type' . $node->type; } if (!empty($classes)) { print ' class="'. implode(' ', $classes) .'"'; } }
ha minden stimmel, akkor egy szabályos phptemplate sminkben a body konténer így kerül be:
<body<?php print SMINKNEVE_body_class($left, $right); ?>> ... ..
a template.php -ban végzett módosításoknak hála, megfelelő osztályok kerülnek a body konténerre, ezek alapján könnyedén célozhatom cssben amit akarok, pl ha 'forum' típusú a node amit éppen nézek, akkor legyen a háttér a 42.png:
css:
body.node-type-forum #header { background-image: url(42.jpg); }
-
clear: both;
$build['book_navigation'] = array( '#theme' => 'book_navigation', '#book_link' => $node->book, '#weight' => 100, // The book navigation is a listing of Node entities, so associate its // list cache tag for correct invalidation. '#cache' => [ 'tags' => $node->getEntityType()->getListCacheTags(), ], );
Csak a node objektumra van szükséged ahhoz, hogy meg tudd hívni.
Drupal konzolban nagyjából ennyi:
Létrehozod a modulodat (drupal generate:module) válaszolsz a kérdésekre
Aztán egy blokkot generálsz hozzá (drupal generate:plugin:block) válaszolsz a kérdésekre
Ennek eredményeként kapsz egy üres blokk objektumot aminek a build funkcióját kell a fentivel kiegészítened valahogy így:
public function build() { $build = []; // Load the current node. $node = \Drupal::routeMatch()->getParameter('node'); if (!empty($node->book['bid']) && empty($node->in_preview)) { $book_node = Node::load($node->book['bid']); if (!$book_node->access()) { return; } $build['my_book_navigation'] = array( '#theme' => 'book_navigation', '#book_link' => $node->book, '#weight' => 100, // The book navigation is a listing of Node entities, so associate its // list cache tag for correct invalidation. '#cache' => [ 'tags' => $node->getEntityType()->getListCacheTags(), ], ); } return $build; }
Ne felejtsd el betenni az elejére ezt a sort:
use Drupal\node\Entity\Node;
Aztán a moduloknál bekapcsolod a modult, végül bekapcsolod a blokkodat abba vagy azokba a régiókba ahova akarod.
Üdv!
Dudás József
Megtudja nekem mondani valaki, hogy miért nem menti el a Drupal a field tartalmát az adatbázisba?
A sor, csak éppen NULL van a szám helyett!?
autodate.install
szia! - megpróbáltam, de annyi...
szia! - megpróbáltam, de annyi próbálkozás után a következőkre jutottam.
Azt már értem, hogy ezek a függvényekek hook_form_alter, mindig lefutnak
mert csináltam bele ilyet:
S ezt minden lapfrissitésnél kiirta. Ez nem jó. Csak azt szeretném, ha a profile modulnál, s a regisztrációs űrlapnál futna le a kód. Ezt hogyan tudom megoldani?
Aztán a form_alter fv.ből nem tudtam meghivni egy külső függvényt, ami viszont alap php. s nem értem miért nem működik.
tehát nem tudtam odáig eljutni, hogy továbbküldjem a megadott adatokat erre a cimre.
Aztán később még arra lenne szükség, hogy az éppen aktuális felhasználó adatait (név,email) küldje el, azt meg végképp nem találtam meg, hogy egyrészt, hogyan kérdezzem l.
Ha tudsz segiteni, várom a választ!
köszi