Wathfea képe

Nah ezzel sikerült belőnöm, hogy az egyik modul generálja le a formot.

function gft_demo_menu() {
  $items['ingyenes-demo-szamla-nyitas'] = array(
    'title' => 'Ingyenes demó számla nyitás',
    'access callback' => TRUE,
    'page callback' => 'gft_demo_page',
  );
  return $items;
}
function gft_demo_page() {
  $output = drupal_get_form('gft_demo_openform');
  return $output;
}
 
/**
 * Define form
 */
function gft_demo_openform($form) {
  $form['last_name'] = array(
    '#title' => t('Last Name'),
    '#type' => 'textfield',
    '#description' => t('Please enter your last name.'),
    '#required' => TRUE,
  );
 
...

Hogy ha én azt szeretném, hogy a főoldalamra egy block régióba rakjam ki a formot, akkor pl elég, ha a page--front.tpl-be kézzel meghívom a gft_demo_page()-fvt? Vagy hogyan illik ezt csinálni?

Szóval lényegében most az a helyzet, hogy van egy modulom.modull abban van a form legyártás eredetileg és ha jól értelmezem a gft_demo_menu() hook miatt ha az oldal www.domain.hu/ingyenes-demo-szamla-nyitas címen lesz meghívva akkor lefut a .module fileban található kód.
Ha én azt szeretném, hogy csak a page--front.tpl-ben egy block régiójába jelenjen meg a form akkor mit kell csináljak? Tudok a tpl-ben hivatkzni a formra. Pl

 <div id="form_helye">
   <?php $form = drupal_get_form('gft_demo_openform'); print $form; ?>
 </div>

Vagy ez így nem fog menni, mert a templateből nem érem el a .module-ban definiált formomat.
Ez esetben akkor a .tpl-ben kéne a .module hoz hasonlóan felépíteni a kódot?

Vagy csináljak esetleg egy külön modult neki és abban hozzak létre neki külön blokkot?

Bocs ha sokat kérdezek, csak most tanulom ezt az egészet és most kicsit mélyvízben vagyok.... esetleg ha valaki felvenne Skypon és lenne türelme alkalomadtán segíteni akkor nagyon hálás lennék. wathfea néven vagyok megtalálható skypon.

Üdv

Dávid

0
0
dadikovi képe

Szia, köszi a választ! :)

A problémát jól értelmezted, bár jobban mondva nem egy saját menü nem jelenik meg, hanem az alap Navigáció menü blokkja (ami pl. az Adminisztráció linkjét tartalmazza bejelentkezés után), valamint a primary links (Elsődleges linkek) blokkja.

A page.tpl.php-ban ugyanúgy definiáltam a blokkokat, ahogy a Garland theme is csinálja:

  1. <
  2. div id="sidebar-left" class="sidebar">
  3. <?php if ($search_box): ?><div class="block block-theme"><?php print $search_box ?></div><?php endif; ?>
  4.  
  5. <?php print $left ?>
  6.  
  7. <?php if (isset($primary_links)) : ?>
  8. <?php print theme('links', $primary_links, array('class' => 'links primary-links')) ?>
  9. <?php endif; ?>
  10.  
  11. <?php print $feed_icons ?>
  12. </div>

Az $left-et az if-es ágtól függetlenül printeltettem ki [a Garland theme page tpl-jében még van egy "tesztelés", hogy isset($left) ], mert másképp nem jött be (valszeg ez is a problémra része lehet :S)

A info file-ban pedig ezek vannak ott:

regions[left] = Left sidebar
regions[right] = Right sidebar
regions[content] = Content
regions[header] = Header
regions[footer] = Footer

Bocsi, ha érthetetlenül fogalmaztam néhol :S

0
0
eager képe

Hát ha bizonyos oldalak háttérszínét szeretnéd elváltoztatni, akkor arra valóban elég lehet a már meglévő body classokat figyelni és írni rájuk specifikus css-t:

  1. body {
  2. background: white;
  3. }
  4.  
  5. body.page-taxonomy-term {
  6. background: green;
  7. }

Ha az egyedi körülmények nem tettenérhetők a már meglévő body classok között, akkor lehet próbálni hozzáadni újakat, vagy a template.php-ban a sminkneve_preprocess_html()-ben lehet, vagy ha kattintós megoldás kellene, akkor megismerkedni a Context modullal szerintem, ő alkalmas egyedi body classok kiosztására néhány feltétel figyeltetése alapján.

-----

Illetve, nem volt egyértelmű a kérdés, hogy ha olyat is szeretnél, hogy megnyomnak valamit, de az oldalon szeretnél maradni, és az oldalon maradva elváltoztatni a háttérszínt, akkor az meg js/jQuery irány. A sminkedben legyen egy megfelelő js file, amibe egy ilyesmit tehetsz:

  1. (function ($) {
  2. Drupal.behaviors.myThemeHelpers = {
  3. attach:function (context, settings) {
  4.  
  5. // Adding a body class if #mybutton gets clicked.
  6. $('#mybutton', context).click(function() {
  7. $('body').addClass('my-class');
  8. });
  9.  
  10. }
  11. };
  12. })(jQuery);

és utána a cssbe, hogy

  1. body.my-class {
  2. background: green;
  3. }
2
0

mysql importálás

norbiii képe

Sziasztok

atw-s tárhelyre szeretném telepíteni a 6.2-esverziójú drupált, Sikeressen felmásoltam mindent a szerverre. Miután az oldalra szeretnék lépni hibaüzenettel találkozok csak. Az oldalam címe: hnjebaja.atw.hu. Utánnanéztem itt a fórumon és azt találtam, hogy a settings.php-be állítsam be a szükséges adatokat a mysql kapcsolathoz. Megpróbáltam importálni a mysql adatbázist, deezzel a hibaüzenettel tért vissza:

 Hiba
 
Úgy látszik az SQL lekérdezésedben van egy hiba. A MySQL szerver hibakimenete alul látható, ha van ott valami, az segíthet felderíteni a hiba okát

hogyan lehet id-t árvinni fülek esetén?

lili_ képe

D5 alatt dolgozok, saját modult ami így néz ki jelenleg

function szervegyseg_menu($may_cache){
 
/* ez fogja megjeleníteni a szervezeti egység tagjait*/
 
   $items = array(); 
   $items[] = array(
     "path" => "szervegyseg", /* ez szerepel majd az url-jében*/
     "title" => t("szervezeti egysegek megjelenitese"),/* ez a lesz a menüpontjának a neve*/
     /* egy modul meg kell hívni mindenképpen mert ki kell iratni html-ként*/
     "callback" => "szervegyseg_list", /*ezt fvényt fogja hívni lásd lentebb*/
     "access" => user_access("access content"),

Lassú Query

gazsesz képe

Sziasztok!

Egy jó ideje küzdünk a szolgáltatóval egy olyan problémán, hogy beragadnak SQL-ek, de eddig nem jöttünk rá, hogy mi az oka. Hátha tud valaki segíteni!

"Érdekességek:"
- bekapcsoltam a devel modul logját is, de abban nem találtam ilyen sql-t, pedig a szolgáltató
szerint a logolás ideje alatt is volt ilyen beragadás.
- két szótár van, az sql az egyes szótárra (td.vid=1) hivatkozik, viszont nem ebben vannak tn.nid 166, 124-es kategóriák, hanem a 2-es szótárban, így az SQL mindig 0 eredményt hoz.

A honlap "méretei":
- köbö 1700 node

Drupal verzió: 

Drupal_mail - Body beillesztése

pakati képe

Sziasztok!

Adott egy űrlap (Webform), aminek a Haladó beállításainál (Advanced Settings) használtam az Additional Processing mezőt, a kitöltőknek egy válaszlevél küldésére.
Azért volt erre szükség, mert a válaszlevélben számított értékek szerepelnek.
Eddig Drupal 5-ös rendszer alatt szépen ment is minden a drupal_mail függvénnyel, de Drupal 6 alatt annyira megváltozott a drupal_mail függvény, hogy sehogyan sem tudom beilleszteni az üzenetet a függvénybe. A neten kerestem mindenféle leírást, de számomra egy sem volt átlátható.

$message['body'][] = $uzenet;
Drupal verzió: 

Responsive Blog logo és site név együtt, egymás mellé...

Alfika képe

Sziasztok.

Segítségre lenne szükségem. A Responsive Blog nevű témát szeretném kissé átalakítani, mert az alapból vagy az oldal logoját, vagy az oldal nevét jeleníti meg, választható módon.
Azt szeretném, hogy mindkettő látszódjon, alapból egymás mellett.

Így néz ki az adott kódsor:

Fórum: 
Drupal verzió: 

Életkor kiszámítása születési dátumból

Laza képe

Gyakran lehet szükségünk arra, hogy születési dátumból életkor számoljunk. (Például ha társkereső oldalt csinálunk, vagy ha társkereső oldalt csinálunk.)

Eléggé szánalmas, ha a regisztrációkor a felhasználó születési dátuma mellett bekérjük az életkorát is :) A regisztrációkor ezért hozzáadunk még egy CCK mezőt, de nem akármilyent: Computing Fieldet.

Ez egy külön modul, letölthető itt: http://drupal.org/project/computed_field

pp képe

4.7-ben kb így volt.

require_once './includes/bootstrap.inc';
drupal_bootstrap(DRUPAL_BOOTSTRAP_FULL);
global $user;
//belép az adminisztrátor, ez akkor nem kell, ha bejelenetkezünk a szájton és a session-ban már benne van egy bejelentkezett felhasználó
$user=user_load(array('pass' => 'jelszó','name' => 'admin'));
 
//ciklus
//foreach(){
 
unset($node);
//feltöltjük adatokkal
   $node->type = 'típus';
    $node->uid = 1;
    $node->status = 1;
    $node->created = time();
    $node->promote = 0;
    $node->moderate = 0;
    $node->changed = time();
    $node->sticky = 0;
    $node->format = 3;
    $node->author = 'Admin';
    $node->title='Cím';
    $node->body='Tartalmi rész';
 //plusz adatok
  $node->nemutdommi = '';
 
//a node save majd jól meghívogatja a megfelelő hook-okat
 
node_save($node);
// $node->nid tartalmazza a frissen létrehozott node id-jét/ját (ájdíját ;))
 
//$taxonomy_name változó tartalmazza a szótár nevét
$terms = taxonomy_get_term_by_name($taxonomy_name);
// mindig egy tömböt kapunk vissza, ami tartalmazza a szavaknak megfelelő kifejezések teljes lenyomatát(tid, vid, pid stb) Ha nincs akkor egy üres tömböt, ha van akkor annyit ahány van. A példában felévtelezzük, hogy csak egy van. Vagyis az első megtalált term-hez fogja rendelni a "program" a node-ot
 
if(!count($terms)){
 unset($edit); // no nem az az edit ;))
// nincs ilyen term létre kell hozni
  $edit['name'] = $taxonomy_name;
  $edit['description'] = 'ide jön a leírás';
  $edit['vid'] = 1; //ez a szótár azonosítója, legegyszerűbb létrehozni és megnézni mi az azonosító
  $edit['weight'] = 0;
// parent és relations is tölthető itt ;)
 taxonomy_save_term($edit);
 $tid = $edit['tid'];
}else{
  //nem kezeljük azt az esetet, ha több azonos nevű taxonomy van már az adatbázisban.
 $tid = $terms[0]['tid'];
}
 
taxonomy_node_save($node->nid, array($tid));
//ciklus vége
// }

nem próbáltam, de kb jó ;)

0
0