pp képe

De, hogy ne kelljen keresni:
http://drupal.org/patch/apply

A lényeg:

1. Letöltöd a foltot(patch).
2. belépsz a Drupal gyökér könyvtárába.
3. path -p0 < útvonal/foltneve.patch

Windows alatt cgiwin-nél kb (mert nem ismerem) C:\\teljesútvonal\patch.exe -p0 < ...ugyanaz..

Mindenképpen parancssor kell neked és nézni mit ír ki. Ha nem megy valami akkor ezeket a sorokat másold ki és told ide be. (ne ide, hanem egy új témába, de ezt már tudod. ;)) Egy foltot csak egyszer alkalmaz, tehát ne add ki többször a parancsot. Újrapróbálkozni úgy kell, hogy újra kitömöríted(vagy hígítod..muhahaha) a Drupal-t és felülírod az ott lévő fájlokat. (vagy csak azokat amiket módosított a folt, ezeket ki fogja írni, tehát a legjobb, hogy ha ezt mindig figyeled, mert elég csak ezt a pár fájlt fel ftp-zni az éles rendszerre, és csak ezekről készíteni előtte biztonsági másolatot)

Figyelj oda, hogy frissítésnél nézned kell, hogy az adott verzió tartalmazza-e a foltot. Ha igen - wow, mosoly - csak frissítened kell a Drupalt. Ha nem akkor először mindenképpen próbáld ki, hogy a foltod alkalmazható-e a friss verzióra. Ha igen akkor még csinálnod kell egy update tesztet tutibizti és utána fel updatelni. Ha nem alkalmazható akkor javítani kell a foltot. Ha ezt meg tudod tenni akkor megteszed és megosztod a közösséggel. Ez azért is különösen fontos, mert akkor még át is nézik és ha vacak akkor szólnak. Ráadásul még hálásak is lesznek neked páran, ha jó a folt. Szóval csak nyerhetsz ezen, no meg így normális. Ha nem vagy rá képes, akkor várnod kell addig amíg valaki el nem készíti. Ha fontos akkor rászánhatsz egy tízest és megbízatsz valaki hozzáértőt, hogy csinálja már meg. (ekkor szintén megosztjuk)

Ajánlott nulla folttal foltozott Drupalt üzemeltetni, e fölött minden egyes folt duplázza az update-ek idejét. ;)

pp

0
0
aboros képe

vagy hogy írjak e egyátlán valamit. lehet nem kellene, akkor bocs, de nem bírom megállni, hogy meg ne jegyezzem.

ez a kódrészlet itt nem megoldás, hanem egy ordas nagy gányolás.
kérem senki ne vegye ezt mintának a témában vázolt feladat megoldására.

azt most hagyjuk, hogy ehhez miért kell űrlap, mikor ezt egy sima anchorral meg lehet csinálni, tegyük fel, hogy mindenképp űrlappal kell megoldani valamiért. (nlta miért)
ilyet, hogy kacsacsőr form, method post, stb... ilyet soha nem csinálunk drupalban. soha! vért könnyezve kórusban visítanak a kismacskák a motorháztető alatt!!!
van formAPI, tessék azt használni. azt kell! mint ahogy nem írunk olyat, hogy kacsacsőr a src (mert van l() fgv és azt használjuk) .. nem írunk olyat, hogy kacsacsőr img src... mert van theme('image'... és azt használjuk!

formAPI!!!

amit még nem értek, hogy ezt miért hook_view -ban csinálod??? az adott tartalomtípust a te modulod hozta létre?? ha igen, akkor talán ok, bár akkor se értem, hogy miért égeted az űrlapodat a $node->content -be?? ha nem a mymodule hozta létre ezt a tartalomtípust, akkor pedig végképp rossz, a hook_view csak olyankor használatos, ha ugyan az a modul definiálta a típust, mint amelyik a hook_view -t valósítja meg. ha másik modul által létrehozott tartalomtípust akarsz piszkálni és mindenképp modulban akarod tenni ezt (ki tudja miért?), akkor hook_nodeapi.

nem vagyok teljesen biztos benne, de ezzel a fenti borzadállyal szerintem eltörted a cckt is, tehát ha most cckval hozzáadsz egy mezőt a típusodhoz, nem fog megjelenni mert manuál átégetted a $node->content. nem túl egészséges.

egy szónak is száz a vége, amit itt fent csinálsz az baromi drupal-idegen.
bocs hogy így megírtam ezt, de fontosnak tartom, hogy ezt tudd, ne szokjad meg ezt a fenti borzalmat.

0
0

-
clear: both;

kormen képe

Mivel ugye tanulok, ezért az hogy összedöntök egy oldalt, nem nagy gond.most próbálkoztam, ezzel a DS-mel megkaptam a szép listát.

"dsm($view);

Erre adott egy szép hosszú listát. amiben úgy véltem a field(array) tid(object) lehet nekem jó. azt mondtam neki első körben hogy:

<?php
   print $view->field[tid];
?>

erre nem irt semmit. még a {} működött amire szintén semmit nem irt, minden más módszerrel hibaüzit küldött.

mondom neki:

<?php
   print $view->field;
?>

erre azt mondja "array"

Lehetséges hogy nincs benne semmi? a dsm szerint ez a views_handler_field_numeric alábontva recursion (végtelen jellel) Én úgy értelmezem, (bár lehet hogy rosszul) hogy ebben kellene lennie az aktuális tid-nek. Most nem ebben van, rosszul kérem le, vagy mi lehet a probléma?

Valahol nincs egy általánosabb leírás az alapokról? változók tömbök, ugyanis itt http://api.drupal.org/api/ van sok érdekes dolog, csak az alapok nincsenek. Bitte olvasnivalót :)

0
0

Kormen

Bálint képe

A Views Custom Field modult használnám erre.

Készítettem egy gyors kis példát. A node-ok címét jelenítem meg vagy éppen rejtem el, az ezt szabályozó CCK mezőnek a private és public értékeket állítottam be erre vonatkozólag.

Hozzáadtam a nézet mezőihez a node-ok címét és a szabályozó CCK mezőt (amit Private-nak nevezek), mindkettőt kizárom a megjelenítésből, csak az értékek miatt szükségesek a lekérdezésbe. Ezután használjuk fel a Customfield PHP kód mezőjét, amibe az alábbi kód kerül:

<?php
  if ($data->node_data_field_private_field_private_value == 'public') {
    print check_plain($data->node_title);
  }
  else {
    print '-------';
  }
?>

Egy screenshot az eredményről:
https://img.skitch.com/20110106-cp1k7y7r6p9jk57xpjgqcxcmf3.jpg

Ne feledd, ez még csak a view-ban lévő megjelenést szabályozza, emellett gondoskodnod kell a node-ok megjelenéséről is.

0
0
Paal képe

Az minek?? ;)

„Na de várj egy picit, nekem nem működik ezen a gépen.”

Nem gondolod, hogy ez kb. „nesze semmi fogd meg jól”? Mi nem működik? Hogy nem működik? Kicsit részletesebb leírás kellene, hogy mit és hogyan csináltál, hogy nem működik, stb!

  1. Töltsd le újból a modult.
  2. Írd felül vele azt, amit összegányoltál.
  3. Az adminisztrációs részén a „Webhely építés/Felület fordítás/Keresés” oldalon a „A karaktersorozat tartalma:” részbe beírod, hogy pl. „New tip submitted via the SexyBookmarks Plugin!”.
  4. A találatoknál kilistázza, hogy talált egy - minden bizonnyal lefordítatlan - karaktersort.
  5. „Szerkesztés” linkre kattintva bejön a fordítási felület.
  6. Az „Eredeti szöveg” résznél megtalálod az angol kifejezést.
  7. A „Magyar” részhez beírod a lefordított szöveget, elmented.
  8. Így le is fordítottál egy karaktersort a modulban. De ezen kívül van még pár...

Hogy pontosan mennyi is, azt a Drupal fordítói szerverén meg tudod nézni (Translate SexyBookmarks to Hungarian). Sőt, le is fordítani. De ehhez a http://drupal.org oldalán regisztrálnod, és bejelentkezned kell. Így már használni tudod a fordítói szervert. Pontosabban még csatlakoznod kell a magyar fordítói csoporthoz.

Amúgy nem ártana ha utána is olvasnál dolgoknak, nem csak össze-vissza kísérletezgetnél.
Mondjuk kezdheted rögtön ezzel: http://drupal.hu/kezikonyv/forditas
További kérdés feltétele előtt pedig ezzel: http://esr.fsf.hu/smart-questions_hu.html

Ne úgy vedd, hogy ez(ek) felesleges piszkálgatás(ok). Ha nem adsz kellő információt akkor mi sem fogunk tudni neked segíteni. Ha pedig nem azt csinálod amit javasolnak, akkor nem fogsz sikert elérni. Pedig ez lenne a (közös) cél! :)

0
0

--
Palócz Paal Pál, a drupal.hu admin csoportjának tagja
Ajánlott olvasmány: Eric Steven Raymond - Hogyan kérdezzünk okosan

makgab képe

Az jó megoldás, ha a hook_cron()-ban figyelem, hogy mikor futott le a szükséges művelet és az alapján futtatom újra?
Pl.

<?php
function mymodule_cron() {
  $last = variable_get('mymodule_cron_last_run', REQUEST_TIME);
  $most = time();
  // az if persze nem biztos hogy így jó is, csak az elv lényeges
  if ( $most - $last > 1 )
     db_query(" UPDATE mymodule SET mezo1='akarmi' ");
  variable_set('mymodule_cron_last_run', REQUEST_TIME);
}
?>

A Drupal doksiból indultam ki.

0
0
vajdasági képe

Nemtudom hogyan kerulnek be a kepek oda az oldalra de ha jol sejtem a kepeket te vittem be az img taggal abba az oldalba. Gondolom egy page nodrol van szo es a body-ba te irtad be oket fixen mind a 6 kepet. Jol sejtem?

<img width="100px" style="width: 100px; height: 75px; margin-top: 12.5px;" title="1" alt="1" src="http://vadaszfaragasz.neobase.hu/sites/vadaszfaragasz.neobase.hu/files/imagecache/gallery_assist-default-thumbnail-100/gallery_assist/1/gallery_assist3/1.jpg">

Ha igen akkor javitsd ki oket ehhez hasonlora:

<img width="100px" style="width: 100px; height: 75px; margin-top: 12.5px; margin-left: 0px;" title="1" alt="1" src="http://vadaszfaragasz.neobase.hu/sites/vadaszfaragasz.neobase.hu/files/imagecache/gallery_assist-default-thumbnail-100/gallery_assist/1/gallery_assist3/1.jpg">

A lenyeg a style -ben van az a margin-left.

0
0
szantog képe

Ha drupalból akarsz civicrmel egyszerűen beszélgetni, ajánlom magamat.

Ezzel kb ennyi lesz:

  1. $params = array('return.is_full' => TRUE, 'return.max_results' = 100);
  2. $events = civi_api('event', 'get', $params);

Ez addig működik, amíg max 100 eseményed van. Az $eventsben benne lesz az összes esemény, abból kivadászod a megfelelőt, és annak az 'available_places' elemében lesz a kívánt érték.
Sajna a civicrm apija nem biztosít egy esemény lekérdezésére felületet, és rendes db layert sem írtam még meg, úgyhogy a egy konkrét eseményhez a civicrm daoját kell használni, az meg nem egyszerű jószág. Ha sikerülne vele mégis elbánni, akkor örömmel beraknék egy event loadert a modulba, kb mint ez.

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.

aruna képe

talán jobb lett volna ha az API függvényt linkelem be:

http://api.drupal.org/api/drupal/modules%21system%21system.api.php/funct...

A linkelt függvényből egy darab lehet csak a modulodban, viszont a függvényen belül akárhány menüpontod/útvonalad. Nézd meg a példákat.

  function mymodule_menu() {
    $items['abc/def'] = array(
      'page callback' => 'mymodule_abc_view',
    );
    return $items;
  }
 
  function mymodule_abc_view($ghi = 0, $jkl = '') {
    // Amit a végén return-el visszaadsz, az jelenik meg az oldalon.
  }

szerk: A menü cache-t törölnöd kell, hogy az új menüpont látszódjon.

0
0
Sk8erPeter képe

Na, most végre volt egy kis időm játszani ezzel.
Direkt a nálad problémás admin/people/permissions útvonalon lévő checkboxokat próbáltam ki, és nálam egy modulból hozzáadva teljesen az elvártak szerint működik a kódod.
Ha jól értem, annyi a célod, hogy az input elemre is kerüljön egy checked osztály, meg a közvetlen szülőelemére is, amennyiben checkboxról van szó, és bepipálod az elemet.

Screenshot:

PIPÁLÁS ELŐTT:
checkbox tick előtt

PIPÁLÁS UTÁN:
checkbox tick után

Bekereteztem és aláhúztam a lényeget.

Nálam úgy van, hogy a modulom .info fájljában van ez a sor:
scripts[] = js/testModule.behaviors.js

az előbb hivatkozott JS-fájlban meg tök ugyanaz van.
Most belekontárkodtam a Seven core theme-be is, amit ugyan elvileg nem szabad, de most nem volt kedvem emiatt subtheme-et létrehozni, mivel ez egy szemetelős Drupal, és ott is teljesen ugyanígy, elvileg jól működik, ahogy kéne neki.

Nálad akkor mi is van?
Bepipálod, de nem kerül rá a checked osztály? Tehát nem úgy működik, ahogy én mutattam a screenshoton?

1
0