Szálakba rendezett új hozzászólások követhetővé tétele

Őry Máté képe

Alapvető és állandó probléma nagyobb forgalmú oldalakon, hogy a sok hozzászólás között igen nehéz a különböző szálakba érkezett új hozzászólások követése. A Drupal alapértelmezés szerint az általunk még nem olvasott hozzászólásokat (és tartalmakat) ?új? jelzéssel látja el. Ezt javítottam föl azzal, hogy arra kattintva a következő új hozzászólásra ugorjon.

Banderasz képe

Nos sgabe tanácsára felraktam a szükséges modulokat, amelyek szépen meg is jelentek a regisztrációs oldalon. Most jönne az, hogy a nem modulfüggő input-okat is ki kellene raknom, mint például vezetéknév, keresztvév, e-mail ellenőrzés és születési idő.

Ehhez megnéztem az általad ajánlott hook_form_alter() függvényt, amivel egyelőre nem tudtam megbírkózni. A leírásában csak ennyi forrás szerepel:

function hook_form_alter($form_id, &$form) {
  if (isset($form['type']) && $form['type']['#value'] .'_node_settings' == $form_id) {
    $form['workflow']['upload_'. $form['type']['#value']] = array(
      '#type' => 'radios',
      '#title' => t('Attachments'),
      '#default_value' => variable_get('upload_'. $form['type']['#value'], 1),
      '#options' => array(t('Disabled'), t('Enabled')),
    );
  }
}

Ezzel miként adjak új inputokat még a formhoz? Megpróbáltam úgy, hogy csináltam egy tömböt, amibe felvettem ezt-azt, és ezt adtam át a függvény második paraméteréül, de valamiért nem úgy viselkedik, ahogy kellene. Ha a forrását megnézem, akkor csak azt látom, hogy az egésznek a működése attól függ, hogy a tömbben szerepel-e "type" asszociatív kulcs, mely önmaga is tömb, amiben "#value" kulccsal egy sztringnek kellene lennie, amit a "_node_settings"-szel összetoldva meg kellene egyeznie a form_id-val.

Nos megnéztem Firebug-gal, a posztolt form ID-ját, ami "user_register", illetve találtam egy hidden mezőt is a formon, name="form-id" néven, szintén "user_register" értékkel. Én kipróbáltam ezzel a fenti függvényt, de nem reagált semmire sem, mert annak nem része a "_node_settings".

Tudnál nekem egy pici példakódot mutatni arra, hogy ezzel a függvénnyel miként fűzök "text"-et, meg "select"-et hozzá?

Illetve fennálló kérdés még, hogy ehhez az egészhez hogy jön hozzá a theme_user_edit()? Mi köze van ennek a regisztrációhoz?

Előre is köszönöm a választ, és bocs, ha értetlennek tűnöm. Nekem ez a Drupal-osdi még nagyon új. Egyébként ugyanezt az űrlapot Drupal nélkül 1 nap alatt megcsináltam volna... :)

0
0
G. képe

Üdv!

A következő hibaüzenettel találkoztam: amikor új tartalmat akarok elmenteni a mentés gomb megnyomása után az alábbi szöveg fogad. Mi lehet a megoldás? Szerencsére a honlap készítésének az elején vagyok, úgyhogy ha nincs tipp, akkor újrarakom az egészet (eredetileg WAMP serverrel csináltam és úgy tettem fel). Darabig működött is minden, aztán mikor a views-al kezdtem foglalatoskodni, akkor ez történt. Az óta kikapcsoltam a views-t, hátha az okozza a galibát, de ugyanúgy jön a kis üzenet.

Tehát a hibaüzenet:
PDOException: SQLSTATE[23000]: Integrity constraint violation: 1048 Column 'vid' cannot be null: INSERT INTO {node} (vid, type, language, title, uid, status, created, changed, comment, promote, sticky) VALUES (:db_insert_placeholder_0, :db_insert_placeholder_1, :db_insert_placeholder_2, :db_insert_placeholder_3, :db_insert_placeholder_4, :db_insert_placeholder_5, :db_insert_placeholder_6, :db_insert_placeholder_7, :db_insert_placeholder_8, :db_insert_placeholder_9, :db_insert_placeholder_10); Array ( [:db_insert_placeholder_0] => [:db_insert_placeholder_1] => outdoornews [:db_insert_placeholder_2] => hu [:db_insert_placeholder_3] => cc [:db_insert_placeholder_4] => 1 [:db_insert_placeholder_5] => 1 [:db_insert_placeholder_6] => 1340698546 [:db_insert_placeholder_7] => 1340698546 [:db_insert_placeholder_8] => 1 [:db_insert_placeholder_9] => 1 [:db_insert_placeholder_10] => 1 ) in drupal_write_record() (line 7013 of /var/www/users/zbtcuz/wwwroot/wwwroot/includes/common.inc).

0
0
pante képe

Igen, Chrome-ot használok. Köszönöm a leírást, mert (igaz 1-2 órás szöszmötölés után) de sikerült meglelnem a kérdéses részt és módosítottam. Így jobb, hogy már tudok "halászni" :)

Sajnos a pager alatti üres részt nem tudtam kiszedni, mert hiába néztem az elemet, nem tudom melyik CSS vonatkozik rá.

Bemásolom a mini calendar block átszínezését, hátha tudok ezzel segíteni másoknak is:

  1. /* MINI NAPTAR CSS, ADOTT NAPON VAN ESEMENY */
  2. .calendar-calendar td.has-events {
  3. background-color: yellow;
  4. border-style:solid;
  5. border-width:1px;
  6. border-color: black;
  7. }
  8.  
  9. /* MINI NAPTAR CSS, MAI NAP */
  10. .calendar-calendar td.today {
  11. background-color: #C3D6E4;
  12. border-style:solid;
  13. border-width:1px;
  14. border-color: black;
  15. }

Views-ben sikerült kikapcsolni a többi fül megjelenítését, így elérhetővé tudom tenni a mini calendar-t a látogatók számára is, és megmutatni Nektek, jelenleg hol tartok: Naptár havi nézet

Amit még szeretnék javítani a naptár havi nézetének fejléce. Az előző/következő gombok feliratát a fordítás menüpontban módosítottam E-re és K-ra, mert szétcsúszott tőle az oldal vagy a gombok kerültek egymás alá, így legalább elfér. Viszont úgy meg lehetne-e oldani, hogy a gombok felirata helyett inkább az előző hónap és a következő hónap rövidített nevei szerepeljenek, ami mini calendar-ban van? (E és K helyett szerintem beszédesebb lenne a Dec. és Feb.)
Illetve azt nem értem, hogy középen miért került felcserélésre az év és a hónap neve? Pedig jól van megadva a dátum formátum a beállításokban (elvileg a calendar modul azt használja), és itt már elférne a hónap teljes neve is, nem muszáj a rövidített, viszont erre nem találtam megoldást a views-ban. (sajnos "csúnya" módszerrel tudtam csak megoldani a hónap rövidített nevének kiiratását: a teljes nevet rövidítettre írtam át a fordítás menüben)
Ez utóbbi kódolást igényelne, mint a link-to-node vagy megoldható egyszerűen beállításokkal is?

0
0

emfield + MP3

charlos képe

Üdv mindenkinek!

Egy olyan problémám lenne, hogy van egy mp3 és egy video tartalomtípusom.
Mindkettő emfield video és audio cck mezővel kiegészítve (értelemszerűen).
Az emfield-hez telepítve van a JW FLV Media Player is. Ha videot küldök be,
akkor az megjelenik és lejátsza jól, viszont ha mp3-at, akkor a beépített
médialejátszó jelenik meg. Tudom, vannak a JW Media playernek profiljai,
amiket tartalomtípushoz lehet rendelni természetesen ez is megvolt, de

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

Regisztrációs emailbe saját token elhelyezés

mhncsa képe

Sziasztok!

Regisztrációs és jelszó emlékeztető emailbe szeretnék tenni saját tokent. A user firstname lastname adatait, amik egy saját táblában vannak, és csak a uid alapján van kapcsolata a beépített users táblával.

így próbáltam:

function modulnev_token_list($type = 'all') {
  $tokens = array();
  if ($type == 'global' || $type == 'all') {
    $tokens['global']['user_firstname'] = t('User firstname'); 
  }
  // vagy 
  if ($type == 'user' || $type == 'all') {
    $tokens['user']['user_firstname'] = t('User firstname');
  }
  return $tokens;
}
Drupal verzió: 
Melyik modulhoz, modulokhoz kapcsolódik a téma?: 
aries képe

Szia!

Köszönöm szépen a patch-et, sokat segítettél! (Nem kell megírnom :)) Néhány apró feature javaslatom lenne:

1) Érdemes lenne modulba tenni a megoldást, könnyebben karbantartható.
2) Talán szükséges lenne egy cron-os változat is, tehát hogy mindezt időszakonként végezné el. Ott, ahol sok nagy képet töltenek fel egyszerre, ott egy kicsit lassú ez.
3) Tuti :) lenne, ha taxonómiánként (az "Image galleries" szótárból kiindulva) meg lehetne határozni, hogy legyen-e vízjel vagy sem, illetve, hogy melyik vízjelet használja.
4) "Láthatatlan" - EXIF infó - vízjel feature sem lenne rossz :)

Ha átírod modulba, akkor a cron-osat bevállalom (azért csak ezt, mert ezt még talán meg is tudom csinálni :])

Üdv:
--
Aries
http://aries.mindworks.hu

0
0
Hojtsy Gábor képe

Mint ahogy a cikk is említi, a node_page() adja az alap kezdőlapot. Egyszerűen megcsinálhatod, hogy

function cimlap_page() {
  $output = 'sajat dolgok';
  $output .= node_page();
  return $output;
}
0
0
Anonymous képe

Én is hasonló jogot szeretnék, de nem akarok még1 modult... Nem rághatnánk át magunkat a témán? ;-) (Csak a kedvemért ;-)
Én addig jutottam el, hogy create group, create fomenu, almenu, abba tartalom.
Ekkor megjelenik a blokkok között a fomenü.
Ennek a script részénél lehet írni a PHP scriptet, hogy megjelenjen-e vagy se a blokk.
Namár most. Valami olyasmi kéne ide, hogy:

return user_access('fomenu');

Vagy mi kell paraméterbe? Gondolom nem az, hogy 'Ez egy teszt menü, meglátjuk megjelenik-e?' - Merthogy ezt a nevet adtam neki :-)
0
0