- Xiaomi 13T és 13T Pro - nincs tétlenkedés
- Samsung Galaxy S24 Ultra - ha működik, ne változtass!
- Mobilinternet EU-n kívül, eSIM adatcsomagok használata
- A Watch7-tel debütálhat a Samsung vércukormérője
- Android alkalmazások - szoftver kibeszélő topik
- Vodafone mobilszolgáltatások
- Bemutatkozott a Polestar Phone
- Poco X6 Pro - ötös alá
- Motorola Moto G24 Power - hol van az erő?
- MG4 menetpróba
Hirdetés
-
Olcsó 5G-s ajánlatot nyújt a Realme Indiának
ma Megérkezett a Realme C65 5G, az első készülék a MediaTek Dimensity 6300-zal.
-
Premier előzetesen a Wrath: Aeon of Ruin konzolos változatai
gp A PC-s változat után a minap PlayStationre, Xbox-ra és Switch-re is elérhető lett a program.
-
AMD Radeon undervolt/overclock
lo Minden egy hideg, téli estén kezdődött, mikor rájöttem, hogy már kicsit kevés az RTX2060...
-
Mobilarena
Ajánlott szakirodalmak a teljesség igénye nélkül (a lista még bővülhet):
Új hozzászólás Aktív témák
-
Siriusb
veterán
válasz Sk8erPeter #400 üzenetére
De az jó neked, ha ékezet és egyéb speciális karakterek levágásával érkezik meg a tárgy?
Inkább ez, mint ne működjön. Olvashatóságot annyira nem befolyásolja.A Views-zal állítom elő a linket: /contact/form-neve/[token: node-title]
Ez a harmadik tag lesz majd a tárgy, a contact form szedi ki az URL-ből az utolsó tagot.
Azt javaslod, a contact form-nak is csináljak egy views template-t? Hmmn. Lehet, tényleg ez a legegyszerűbb megoldás.A webformot nem ismerem, de lehet ránézek. Kösz.
-
Sk8erPeter
nagyúr
Erre a beállításra gondolok konkrétan:
http://drupal.stackexchange.com/questions/48465/drupal-7-views-contextual-filter-content-nid-content-id-from-url/48535#48535aztán itt pár dolog bekattintásával úgy emlékszem, ki lehet nyerni a node title-t a node id argumentumból. Most nincs előttem, úgyhogy konkretizálni nem tudom, de érdemes adni neki egy próbát.
Ha a Webform lesz, akkor az is egy rendes node lesz, mezőzhetővé válik, van hozzá mindenféle validáció, még azt is lehet, hogy ennek a node id-jéhez csapsz hozzá még egy másikat, mondjuk így:
node/123/related-content/432
most ez persze csak példa, szóval érted. Aztán ezt az argumentumot nagyon egyszerűen ki lehet nyerni arg() függvénnyel:
http://api.drupal.org/api/drupal/includes%21bootstrap.inc/function/arg/7
konkrétan arg(2) == "related-content" és arg(3) == 432 lenne.
Ezt egy form_alter-ben lehetne kinyerni, és ez alapján kinyerni a node title-t egy node_load()-dal vagy SELECT title FROM {node} WHERE nid = 432 query-vel, aztán a subject mezőnek egyből átadni ezeket az infókat.Persze lehet teljes node title-t passzolgatni URL-ben, de szerintem nem "biztonságos" (nem biztos, hogy minden böngészőben jól fog működni), meg nem túl szép megoldás.
Sk8erPeter
-
chepavel
aktív tag
Kedves Kollégák!
Van egy problémám, amivel már két napja mókolok, és akárhogy is keresem, nem találok megoldást.
A rendszer a következő: Drupal 7 egy IIS+FastCGI-al kiszolgálva.
Az oldal cirill betűket használ, valamint a PHP mail() funkcióval történik a levélküldés. Tartozik a szolgáltatáscsomaghoz egy SmarterMail is, amin a felhasználók, adminok menedzselhetik a weboldal számára küldött üzeneteket. Azonban, akármit is csinálok, SmarterMail felületen nem jelenik meg a valós, cirill szöveg.Ami ötletem volt, hogy majd jól átállítom a content-type-ot UTF8-ról windows-1251-re, hogy a webmail tudja értelmezni, hogy ez cirill szöveget tartalmaz, és helyesen jelenítse meg tartalmat. (Mert tudja kezelni, biztosan, teszteltem.)
Az alap mail.inc.-ben átírtam az értéket, de az elküldött levelek továbbra is UTF8-ra lettek kényszerítve.
Megadtam a MIME verziót, valamint próbáltam a következő sorokkal is beilleszteni:
'Content-Type' => 'text/plain; charset=UTF-8; format=flowed; delsp=yes',
'Content-Transfer-Encoding' => '8Bit',
'X-Mailer' => 'Drupal',Azonban, ez sem hozta meg az eredményt, és továbbra is UTF8- kódolással érkezik meg a levél, és olvashatatlan.
Találkozott már valaki ezzel/ilyen a problémával, vagy van valakinek esetleg tippje, hogy merre induljak tovább?
Áj Láv Aggregáth 5.0! ||| Rosetta@home, lépj be Te is a PH! csapatába! ||| https://500px.com/pavelandras
-
Sk8erPeter
nagyúr
válasz chepavel #403 üzenetére
"Az alap mail.inc.-ben átírtam az értéket, de az elküldött levelek továbbra is UTF8-ra lettek kényszerítve."
Everytime you hack core, god kills a kitten:
Nem csinálunk ilyet.Nincs semmi gond az UTF-8-cal, azzal van baj, ha nincs megfelelően elküldve a szöveg.
"Az oldal cirill betűket használ, valamint a PHP mail() funkcióval történik a levélküldés."
Mégis hogyan? Saját kóddal, MODULBAN?
Ha nem modulban, akkor miért nem?
Ha saját modulban, akkor miért saját modullal akarod megoldani, amikor nagyon jó kész modulok vannak ilyenre, mert nem Te vagy az egyedüli, aki cirill betűs levelet akar küldeni?
Ha kész modult használtál, akkor melyiket?
Csak a SmarterMailről írtál, Drupal-modulról nem.Sk8erPeter
-
chepavel
aktív tag
válasz Sk8erPeter #404 üzenetére
Először is, köszi a választ!
Másodszor, ez már az elkeseredettség jele, azért lett core rész bántva.
A webfejlesztő, aki ténylegesen készíti a weblapot (én csak a sysadmin vagyok, és véleménye szerint az IIS-el van gond.-)
A contact modult szeretném működésre bírni, hogy a kapcsolatfelvétel megfelelően működjön.
Van egy használt mail küldő saját modul, tesztelés céljából, de nem az lesz az elsődleges értelem szerűen.Amit próbáltam még próbáltam, az az SMTP authentication modul, bízva abban hogy SMTP szerveren keresztül megfelelően fog működni, de a helyzet ugyan az.
Nem webfejlesztő révén kérem a tanácsod, pontosabban, hogy milyen megoldás(-csomagot) javasolnál arra, hogy a levelek kézbesítése megfelelően működjön?
Köszönöm!
Update: tudom, hogy az UTF8-al is működnie kellene, csak, már más nem jutott eszembe.
[ Szerkesztve ]
Áj Láv Aggregáth 5.0! ||| Rosetta@home, lépj be Te is a PH! csapatába! ||| https://500px.com/pavelandras
-
chepavel
aktív tag
A webmailen máshonnan kapott üzenetek rendesen jelenítik meg a cirill betűket, ezért tartom kizártnak, hogy a webmaillel lenne gond. Azzal vannak csak gondok, amiket arról a weblapról küldünk.
Áj Láv Aggregáth 5.0! ||| Rosetta@home, lépj be Te is a PH! csapatába! ||| https://500px.com/pavelandras
-
Siriusb
veterán
válasz chepavel #409 üzenetére
Na, kipróbáltam egy drupal-os oldalon, írtam egy üzenetet, a feladó / email cím magyar betűkkel, tárgy/üzenet cirill betűkkel. Mind a webmail (roundcube), mind a thunderbird jól jelenítette meg.
Nem tudom, van-e köze hozzá, Internationalization module is fel van telepítve, lévén kétnyelvű a weboldal. -
chepavel
aktív tag
-
Siriusb
veterán
válasz chepavel #411 üzenetére
Én még egy dolgot próbálnék ki, amivel tényleg eldöntheted, drupal-nál van-e a gond. Az egyik contact kategóriánál a címzettekhez adj hozzá egy külső email címet is, pl gmail. Ha ott sem a megfelelő karakterkódolással látszik a beérkezett üzenet, akkor drupal probléma és visszarúghatod a labdát a fejlesztőnek.
-
adam_
senior tag
Sziasztok!
Egy ehhez [link] hasonló hírdetési felületet szeretnék megvalósítani az oldalalom.
Arra már rájöttem, és ismerkedtem is vele, hogy a Classifield modul segítségével tudom ezt létrezhozni.
Két kérdésem lenne?- Ebben a részben, hogyan lehetne megvalósítani, a linkelt oldalon található hasonló kategóriás részt? Hogy így lenyílóan jönnének be a kategóriák?
- A másik, hogy az aljára a cím megadásánál egy térképen jelölhetné be a hírdetés feladója a tartózkodási helyét, majd ezt a térképet az aktuális hírdetések lapján meg is jelenítené a hírdetésben? Google Mapsen + Location modullal?
Mit gondoltok? Előre is nagyon szépen köszönöm a segítségeteket! Ha bármi egyéb kérdésetek van hozzám, kérlek kérdezzetek, bár remélem, hogy jól körülírtam a problémám.
Előre is köszönettel,
Ádám -
Siriusb
veterán
Ha már jártál a drupal.org-on, vizuálisan is egyből szembeötlő az azonosság. Ha megnézed a forrást,
<div id="block-menu-menu-hirdetesi-kategoria" class="block block-menu odd first last grid16-4 fusion-border apple-green-list dark-green-background-title title-common">
látható, hogy ez "gyárilag" van generálva.
Ami azt jelenti, hogy neked csak kattintgatnod kell.
Egyébként a structure/menu pontra gondolok.Most komolyan, feltelepítetted egyáltalán azt a modult és belenéztél?
-
adam_
senior tag
Szóval a struktúrák/menübe hozzak létre kategóriát, és azon belül menüpontokat, amit majd a hírdetés részbe illesszek be kategória választó gyanánt? Taxonomy egyáltalán nem kell hozzá?[link]
Melyik modulba néztem volna bele? A google mapsesbe belenéztem, és a kategóriással is foglalkoztam, html-t is néztem, igaz én a taxonomiával szórakoztam, a videó alapján arra gondoltam, hogy az lehet a "katerógira választó" kialakításának a kulcsa.
Kb. 1 hete ismerkedem Drupallal, sok dolog még nem tiszta a számomra, szerencsére az alapismeret könyv elolvasása után már kezdenek világosak lenni a dolgok.
[ Szerkesztve ]
-
Sk8erPeter
nagyúr
válasz chepavel #405 üzenetére
"Másodszor, ez már az elkeseredettség jele, azért lett core rész bántva."
Akkor sem."A webfejlesztő, aki ténylegesen készíti a weblapot (én csak a sysadmin vagyok, és véleménye szerint az IIS-el van gond.-)"
Én is IIS 7.5-öt + FastCGI PHP-t használok saját gépem webszervereként. Mivel nincs SMTP szerverem, levélküldésre localhoston épp az általad is említett SMTP Authentication Support modult használom, ami már több ízben is nagyon jól bevált, és általában a Gmail SMTP szerverét használom a saját accountommal.
Na, most a kedvedért egy tesztcélú Drupalon végigtoltam a folyamatot direkt az elejétől:
admin/config/system/smtp
smtp.gmail.com
465-ös port
Use SSL
saját account-adatok
modul bekapcsolása
teszt e-mail kiküldése, eddig rendben.contact oldalra ellátogattam, utána erről az orosz oldalról kimásoltam némi cirill betűs szöveget:
http://serho.ru/cust-modules/filtr-dlya-views-s-ierarhicheskim-vyborom-terminovOK, levél elküldése, meg is érkezett hiba nélkül:
Tehát minden az alap Contact + az SMTP modullal ment.
De ezek után még kipróbáltam mindezt Webformmal is kíváncsiság kedvéért:
a "my email" mezőhöz beállítottam, hogy a Webform onnan szedje az e-mail-címet, a "my textfield" mezőhöz azt, hogy onnan szedje a tárgyat, a "my testtextarea" mező pedig maga a levél törzse, a lényegi üzenet.
Ez is megérkezett gond nélkül:
MINDEN csakis a default beállítások szerint ment, én nem módosítottam rajtuk semmit, és főleg nem bántottam a core-t.
Az SMTP Authentication Support modul nálam már éles oldalon is bizonyított, szóval nem tudom, mi lehet nálatok a baj.Milyen sminket használtok? Nem állítotok be abban véletlenül valami egyéb karakterkódolást, ami miatt nem UTF-8 lesz a kimenet? Chrome-ban egyébként Eszközök - Karakterkódolás alatt könnyű megnézni, melyik karakterkódolás mellett van az aktívat jelző pötty. Na meg F12 megnyomásával a Network fülön követhetők a headerek.
A lényeg tehát az, hogy a karakterkódolás ténylegesen mindenhol UTF-8 legyen, és ne legyen semmi eltérés (különösen ott, ahol a form megjelenik; de egyébként sem).
Amit még ki kellene próbálnotok:
- az admin/config/system/smtp oldalon az említett beállításokat eszközölni, tehát egy Gmail-account adatait beállítani átmenetileg, tesztcélból
- ahogy Siriusb is javasolta, más e-mail-címekre is küldeni levelet, nem csak a sajátotokra.Sk8erPeter
-
Sk8erPeter
nagyúr
Gondolom nem középen a "Hozzáférés megtagadva" szöveget kell látni.
Ha igen, akkor mutass már légyszi egy screenshotot, hogy minek is kellene középen lenni, legalábbis gondolom az is érdekes, ha már egy node/add/classified címet adtál meg.
Melyik modulra gondolsz?
http://drupal.org/project/ed_classified
Ez? Nem ismerem a modult.Ami viszont hierarchikus kategorizálásra nagyon jó, és az előbbi modul oldalán is említést tesznek róla (mint az előbbi modul nagyon jó kiegészítője):
Hierarchical Select
http://drupal.org/project/hierarchical_selectAmi még ajánlott, egész új, de nagyon jó kezdeményezés, hasonló céllal:
Simple hierarchical select
http://drupal.org/project/shsKét modul van, amit én tapasztalatból tudok ajánlani földrajzi hely megjelölésére, ami Google Maps API-val nagyon jól működik együtt:
Get Locations
http://drupal.org/project/getlocationsOpenLayers
http://drupal.org/project/openlayersA nagy különbség az, hogy az előbbi egyszerű, és jó, az utóbbi komplex, és jó, de utóbbi még kiegészül annyival, hogy sok-sok térképszolgáltató API-jával is együtt tud működni, nem csak a Google Maps-ével; tehát ha neked valamilyen okból más is kell, mint a Google Maps-es, akkor mindenképp az utóbbi ajánlott. Ha viszont tökéletesen megelégszel azzal, amit a Google Maps nyújt, akkor a Get Locations-t válaszd.
Mindkettővel egyébként be tudod lőni, hogy a felhasználó csak rábökjön a térképen valahova, és azt a helyet el is tudja menteni.
A Get Locations-nek egyébként nagyon jó autocomplete-szolgáltatása is van, ha bekapcsolod (bár lehet, hogy ez a default, ez most hirtelen nem ugrik be), ami arra jó, hogy mondjuk a felhasználó bepötyög pár szót, a Google Maps API-n keresztül pedig egyből érkezik javaslat a kiegészítésre, ugyanúgy, mint amikor elkezdesz a Google Maps beviteli mezőjében begépelni egy címet.
Na, tehát összegezve: ha egyszerű, gyorsan belőhető szolgáltatás kell, akkor Get Locations, ha összetett, komplex feladat megvalósításáról van szó, akkor OpenLayers.Sk8erPeter
-
adam_
senior tag
válasz Sk8erPeter #420 üzenetére
[link] Ezen az oldalon, a hírdetésfeladás rész. Remélem így már bejön. Szóval ilyet szeretnék létrehozni. Akkor ha Hierarchial Selectet szeretnék alkalmazni a kategória választóként, mint ami az első linkelt oldalon, valamint ezen is megtalálható: [link], akkor elsőnek taxonomyban létre kell hoznom a kívánt listát megfelelő hierarchiában, és ezt követően mi a teendő? Hírdetésfeladás részben mezőt létrehozni, majd típusnak hierarchiál selectet választani?
A GetLocations modul számomra tökéletes lenne. Kicsit "szájbarágósan", ha megkérhetlek leírnád nagyvonalakban, hogy hogyan tudnék egy ilyen modult a classifield ads (hírdetésfeladásos) menüpontomba belőni, és megjeleníteni, úgy hogy a felhasználó majd csak rábök a térképen egy pontra, tartózkodási helyét megadva, és gyakorlatilag ha valaki nézegeti a hírdetéseket, akkor cím és maps is megjelenik? Feltelepítve már természetesen felvan a Getlocations és a Google Maps API modul egyaránt.
Nagyon szépen köszönöm a segítségedet előre is, és elnézést, ha zavarnálak, de jó lenne ez megvalósítanom.
Esetleg ha tutorial videót, leírást is adnál külső linkről, az is tökéletes lenne, csak hogy tudjak valahonnan kiindulni.
[ Szerkesztve ]
-
adam_
senior tag
Közben a hierarchial selectest megoldottam, viszont még abban az érdekelne, hogy ha a meglévő listában nincs az hírdetésfeladója által kínálandó áru típusa, akkor ő saját maga hogyan adhat hozzá, a hierarchial selecten belül? Mint, ahogyan ebben a videóban [link] 1:45-től?
-
Sk8erPeter
nagyúr
Nem látok semmilyen hirdetésfeladást, mivel nem vagyok bejelentkezve, és nem is leszek... ezért mondtam, hogy dobj már egy screenshotot, hogy maga a feladás hogy néz ki. Egy Print Screen gomb lenyomása, majd vágólapról bemásolás egy képszerkesztőbe, és kép feltöltése... SnagIttel könnyen elkészítheted.
A Hierarchical Selectnek pont az a lényege, hogy egy node (tartalom) hozzáadásakor, például egy termék felvitelekor egyből kategorizálhatod, hogy hova tartozik a termék, úgy, hogy többszintű hierarchiát is tudsz vele kezelni. Olvasd el a README-t, keress róla videókat, ha nem megy.
A Get Locations modul működését hadd ne magyarázzam már el elejétől a végéig, azért időmilliomos én sem vagyok... inkább próbálkozz vele, olvasd el a README-t, a hivatalos honlapot, és aztán mondd el, mire jutottál. Ha elakadtál, akkor kérdezz bele konkrétan. Adj hozzá egy "Getlocations Fields" nevű mezőt a content type-odhoz, ahol kell a térkép."Feltelepítve már természetesen felvan a Getlocations és a Google Maps API modul egyaránt."
Milyen Google Maps API modul? A Get Locations-höz nem kell semmilyen külső modul, egyedül működik. Ahhoz, amire neked kell, nem feltétlenül kell felraknod semmilyen plusz modult. Bár kiegészítheted a működését Address Fielddel meg ilyesmivel, próbálkozz vele, hogyayn a legmegfelelőbb az igényeidnek.===
(#422) adam_ : hát ez az ember gyönyörűen beszél angolul.... A kérdésedet meg egyáltalán nem értem, ott van egyértelműen a videóban is, hogy van egy "create new item" menüpont is, mégpedig a legelső.... ez egyébként elvileg beállítható a modulban, hogy lehet-e létrehozni új elemet, vagy sem.
Azért ilyen gyorsan ne add fel, inkább próbáld meg értelmezni is, amit nyújt a modul által kínált felület.[ Szerkesztve ]
Sk8erPeter
-
adam_
senior tag
válasz Sk8erPeter #423 üzenetére
Van egy ilyen felület az oldalon: [link], ami természetes még folytatódik lefelé más egyéb pontokkal, de az most lényegtelen.
A lényeg, hogy ennek az aljára szeretnék egy térképet, valamint egy címmegadásos részt, ugyanis amikor a címet valaki megadja, az egyből térképen is jelenítse meg egy markerrel. Természetesen ezeknek az adatoknak a beküldése után a hírdetésben ugyanezt a térképet címmel jelenítse meg.
Akkor jól értelmeztem, ehhez akkor egyedül ez a modul kell: [link]?
Feltelepítem, és akkor a hírdetés feladásos részben a mezők hozzáadásánál "csak" hozzá kell adni egy új mezőt, pl. Hely megadása néven, és ennek a mezőnek a típusát getlocationre kellene hogy tegyem? És ezt követően már egy olyan mező is lesz a hírdetés feladása részben, ahol egy térkép is van, ahol a hírdető meg tudja adni a tartózkodási helyét? (Bár ezt tényleg jó lenne összekapcsolni egy másik mezővel, amiben ha valaki beírja pl a Város nevét, azt alatta egyből térképen is mutassa, de ez végső soron, egyenlőre csak a térképes markeres bejelölés jó lenne, ha megvalósulna)Szóval jól gondolom, így kell ezt megvalósítani? Ilyen egyszerű lenne? Readmet olvastam, bár ott CCK modulról is írnak, az sem kell az én elképzelésemhez?
[ Szerkesztve ]
-
Siriusb
veterán
Előre is bocsi a lámáskodásért. Már egy jó ideje kínlódom vele, de nagyon belebonyolódtam - már megint.
Template.php-ben szeretném módosítani a contact-site-form - ot, arra gondoltam, egy mytheme_hook_form_contact_site_form_alter(&$form, &$form_state, $form_id) megtenné.
Először is nem tudom előcsalni, mi van a $form-ban.
Másodszor: bénázok.Csináltam egy olyat, hogy tpl.php-t lehessen használni (persze nem akarok használni, de valami kézzelfoghatót kellett már alkotnom):
function myTheme_theme() {
return array(
'contact_site_form' => array(
'render element' => 'form',
'template' => 'contact-site-form',
'path' => drupal_get_path('theme', 'myTheme').'/templates',
),);
}
function myTheme_preprocess_contact_site_form(&$vars) {
$vars['contact'] = drupal_render_children($vars['form']);
}Itt már bele tudok nyúlni, és változtatni mondjuk egy változó értékén, de nem itt akarom.
Igazából a célom a korábban említett "A Views-zal állítom elő a linket: /contact/form-neve/[token: node-title]" helyett a node-title node-id-re van cserélve, és a NID alapján szeretném a Tárgy mezőbe belerakni az adott node Title-jét.
Nem szeretnék külön modult, jó lenne, ha itt meg tudnám valósítani. Ha nagyon hülyeség, szóljatok. -
Sk8erPeter
nagyúr
Basszus, ha még egyszer leírod hosszú í-vel a hirdetés szót, én nem tudom, mit csinálok...
A kategorizálásnál igen, beállíthatod a Hierarchical Selectet az adott mezőhöz tartozó widgetként (most nem vágom, a magyar felületen ezt minek szokták hívni).
"Ilyen egyszerű lenne?"
Én nem értelek, miért nem próbálod ki? Telepítesz magadnak egy helyi webszervert, egy helyi tesztcélú Drupallal, például úgy, hogy Web Platform Installerrel bekattintod, hogy szeretnéd telepíteni a Drupalt, az meg behúzza a függőségeket, aztán elkezded próbálgatni... (vagy EasyPHP és társai is még jó opció, most feltételeztem, hogy Windows-t használsz, ha meg Linuxozol, feltételezem, hogy nem fog gondot okozni a phpmyadmin konzolon keresztüli telepítése...). Hidd el, mi is csak úgy jöttünk rá, hogy kell kezelni ezeket a modulokat, hogy kipróbáltuk, és nem vártuk el, hogy mások a saját idejüket beáldozva vezessék a kezünket, hogy hova kell klikkelgetni.Egyébként igen, hozzáadsz a hirdetéshez egy "Getlocations Fields" nevű mezőt, csak hogy még egyszer leírjam, amit az előbb már leírtam ugyanígy...
Sk8erPeter
-
Sk8erPeter
nagyúr
Ehhez totálisan felesleges volt definiálnod hook_theme-ben egy template-et, az ilyeneket nem is illik template-fájlban elintézni, a template-fájlba NEM kerülhet ilyen jellegű logika, ott az ember legfeljebb elrejthet dolgokat hide()-dal, vagy csak kinyomja a kimenetre, a megfelelő formában, és kész.
Szóval ezt most vagy egy form_alterben, vagy egy preprocess-ben módosítod. De az ilyen "nem működik"-jellegű hibaleírásokkal nehéz mit kezdeni, gondolom azt te is belátod...Először is Devel modult engedélyezed, majd a sminkedben implementálod a hook_form_altert, debuggolás erejéig kiíratsz minden szart, aztán majd kikommenteled, ha kiderítetted, ami neked kell, és persze nem felejtesz el cache-t törölni (drush cc theme-registry):
/**
* Implements hook_form_alter()
*/
function SMINKEDVAGYMODULODNEVE_form_alter(&$form, &$form_state, $form_id){
dsm($form_id, '$form_id in '.__FUNCTION__.'()');
dsm($form, '$form in '.__FUNCTION__.'()');
dsm($form_state, '$form_state in '.__FUNCTION__.'()');
}rájössz, hogy jé, a contact formnak az id-ja "contact_site_form", így implementálod az ennek megfelelő hook_form_FORM_ID_alter()-t:
function SMINKEDVAGYMODULODNEVE_form_contact_site_form_alter(&$form, &$form_state, $form_id){
dsm($form_id, '$form_id in '.__FUNCTION__.'()');
dsm($form, '$form in '.__FUNCTION__.'()');
dsm($form_state, '$form_state in '.__FUNCTION__.'()');
}megint törölsz cache-t, jé, ez is működik, csak most már kizárólag a contact form dolgait buzerálod.
Kideríted, mit akarsz módosítani, szépen a dsm() kimenetét kotorászva, kétszer klikkelve arra a kulcsra, ami neked kell, hogy ki tudd másolni a pontos nevét, aztán kikommenteled a dsm()-eket, majd letiltod a develt (drush dis -y devel).[ Módosította: Eagle16 ]
Sk8erPeter
-
adam_
senior tag
válasz Sk8erPeter #426 üzenetére
Gépen próbálkozom localhostba, ment is rendesen az oldal, de most újraindítás után az alábbi hibaüzenet fogad a localhostnál, amikor nyitnám meg a honlapot:
"Error
The website encountered an unexpected error. Please try again later.
Error messagePDOException: SQLSTATE[42000] [1049] Unknown database 'drupal' in lock_may_be_available() (line 167 of C:\xampp\htdocs\drupal\includes\lock.inc)."Köszönöm a segítséget, próbálkozom tovább.
-
Siriusb
veterán
válasz Sk8erPeter #427 üzenetére
Hibaleírás: nem működik Nem jelenik meg a kiíratás, csak az oldal tartalma.
Komolyra fordítva a szót, bemásoltam a creative_form_alter-edet egy az egyben a template.php-be és semmi. Cache ürítéssel sem. Egyébként zen alapú téma, be van kapcsolva a theme-registry újraépítés minden oldaltöltésnél.
Jé, ez sem működik
[ Szerkesztve ]
-
Sk8erPeter
nagyúr
Jaj ne csináld már... nyilván a "creative" rész lecserélendő a saját sminked nevére.....
Elfelejtettem lecserélni, de nem gondoltam, hogy épp ez fog gondot okozni nálad...Mindjárt szerkesztetem a modikkal az eredetit, nehogy még valaki ilyen nagyon el legyen tévedve.
[ Szerkesztve ]
Sk8erPeter
-
Siriusb
veterán
válasz Sk8erPeter #430 üzenetére
Az rendben, hogy tegnap már nem fogott az agyam, de hogy ma reggel sem, amikor válaszoltam...
-
Siriusb
veterán
válasz Sk8erPeter #433 üzenetére
Valamit nagyon benézek...
Lehet pihentetem kicsit és majd friss szemmel rájövök, mekkora hülye vagyok. -
Siriusb
veterán
válasz Sk8erPeter #435 üzenetére
Elvileg jól lett létrehozva. Majd kipróbálok pl. egy preprocess html-t vagy valamit, ami már a feldolgozás végén van, hogy ott mi a helyzet.
-
Sk8erPeter
nagyúr
Tényleg nem értem. A hook_form_alter() sem hívódik meg? Legalább akkor egy watchdogot próbálj meg a hook_form_alteren belül:
watchdog('test', 'blabla');
vagy ilyesmi. Aztán nézd meg a naplóban, hogy bekerült-e az üzenet az előbbi szöveggel.
Nem ártana megtudni, hogy egyáltalán meghívódik-e a függvény, de kicsit nehéz belőled kihúzni...Sk8erPeter
-
Siriusb
veterán
válasz Sk8erPeter #437 üzenetére
Úgy néz ki, hogy a template.php-ben bármit próbálok, mintha nem is lenne, ellenben egy tpl.php-ben a watchdog végrehajtódik.
Bemásoltam a starterkit-ből újra a template.php-t, de próbáltam úgy is, hogy csak a <?php sor maradt benne, semmi... -
Siriusb
veterán
válasz Sk8erPeter #441 üzenetére
Hát ja. 2 nap... Hrrrrrrrr
Viszont így már simán meg tudtam valósítani a célomat a contact form tárgy mező kitöltéssel. Végül azt a megoldást választottam, hogy a nid-et adom - amint te is mondtad: pl. localhost/kategoria?ta=150
És a template.php-ben ezzel a függvénnyel dolgozom fel: pastebinVélemény? Esetleg gyorsabb, könnyebb, szebb megoldás?
-
Sk8erPeter
nagyúr
Kezdjük azzal, hogy így a minta is helytelen, és nem is fog működni a dolog. Így lenne jó:
$pattern = '/[0-9]/';
Aztán ez nem is helyes reguláris kifejezés, mivel ez illeszkedik arra a query stringre is, hogy ?ta=123abc.
Szerintem ide nem feltétlenül indokolt a reguláris kifejezés használata, egyszerűbb egy is_numeric() függvényhívás. Ezenkívül nagyon ocsmány megoldás exit()-tel az egész script futását leállítani Drupalban egy általad tetszőlegesen kiszemelt helyen... exit()-et vagy die()-t (a kettő ekvivalens) csak NAGYON indokolt esetben használj. A template.php-kbe helyezett exittel vagy die-jal azt éred el, hogy a Drupalnak "megtörik" a megjelenése valahol "félúton", vagy még meg sem jelenik semmi, csak azt az üzenetet írja ki, amit megadtál paraméterként a die()-ban. De a hiba kijelzésére drupal_set_message() való:
drupal_set_message(t('An error occurred and processing did not complete.'), 'error');
a form használhatatlanná tétele pedig valami form_alterben elintézendő, de leginkább egy #after_build callbackben, ha erre szükség van, például $form tömb módosításával, aztán az elküldést meg lehet akadályozni validáló függvényben form_set_error()-ral.
A node_load() hívása helyett kevésbé erőforrás-igényes a közvetlen adatbázisból való címlekérés, mondjuk ez abban az esetben nem lesz jó, ha Title modult használsz, mert akkor a Title is egy "rendes" field.Te kérted, hogy vesézzem ki.
[ Szerkesztve ]
Sk8erPeter
-
Siriusb
veterán
válasz Sk8erPeter #443 üzenetére
És köszönöm is. A node_load-ra azért gondoltam, ha később változik valami adatbázis szinten, pl drupal8-ra frissítés, akkor kompatibilis legyen. Egyébként szerinted jelentős az erőforrás-felhasználás különbség?
-
Sk8erPeter
nagyúr
Hát van különbség, mert jóval több függvényhívás, ami jóval több overheadet jelent, de azért nem katasztrófa, meg jogos az a szempont, amit írsz, hogy 8-asnál is működjön; ettől függetlenül 8-asnál tudtommal alapból a többi mezővel egyszintű mező lesz a node title (nem úgy, mint most, a 7-esnél még mindig, hogy csak kerülő módszerrel lehet fieldszintűvé tenni, az említett Title modullal), tehát azt most még nem tudom (utána kellene nézni), konkrétan $node->title-lel lehet-e majd elérni, vagy mondjuk node->field_title-lel... esetleg lesz-e/van-e valami értelmes módszer az API felhasználásával az entitás címének lekérésére.
Sk8erPeter
-
Siriusb
veterán
válasz Sk8erPeter #445 üzenetére
Lokálisan kipróbáltam közvetlen adatbázis lekéréssel (nem egy villámgyors masina), és nem éreztem számottevő különbséget.
És rögtön be is bizonyosodott, jobb a node_load, mert az általad linkel példa csak drupal 6-ban működik, db_result() ejtve lett. Szóval így írtam át, hogy működjön drupal 7-ben:
function get_title_magically($nid) {
return (db_query('SELECT title FROM {node} WHERE nid = :nid',array(':nid' => $nid))->fetchfield(0));
}Az elég ciki, ahogy megcsináltam a regex-et, félbehagyhattam, mindenesetre az is_numeric sokkal jobb ötlet.
Szerintem az exit() nagyon jó megoldás a huncut manók ellen, akik valami csúnyaságon törik fejüket. Hirtelenjében nem találtam, mi a drupal mód a minden művelet megszakítására. Ismersz ilyet?
Mindenesetre javaslataid alapján átvariáltam a kódot.
-
Sk8erPeter
nagyúr
"Szerintem az exit() nagyon jó megoldás a huncut manók ellen, akik valami csúnyaságon törik fejüket. Hirtelenjében nem találtam, mi a drupal mód a minden művelet megszakítására. Ismersz ilyet?"
Hát az exit() (vagy die()) tényleg kevés esetben indokolt, a hibákat kezelni kell, nem pedig kalapáccsal szétverni a scriptet. Teljesen változó lehet a kezelési mód, nincs erre általános recept. Attól függ.Igen, a linkelt kódban nem az volt a lényeg, hogy a 6-ost egy az egyben át lehet ültetni 7-esre, a szemléltetést akartam megmutatni az adatbázisból való közvetlen lekérésre.
Az is_numeric() függvénynél egyébként érdekes, hogy az is_numeric(' 123') is átmegy a teszten, szóközzel az elején. Erre mondják, hogy a PHP tákolmány.
Amúgy jobb lett a scripted.
Sk8erPeter
-
Siriusb
veterán
válasz Sk8erPeter #447 üzenetére
hibákat kezelni kell
Nem mindig a szelíd gyógymód a leghatásosabb.Kipróbáltam az is_numeric()-t, tényleg benyeli a szóközt, még kettőt is. Mondjuk ez akkora kockázatot nem jelent, együtt lehet vele élni.
Script: nekem tetszik, kellőképpen egyszerű, pontosan azt csinálja, amit kell és úgy, ahogy kell. Kivéve a node_load-ot. Az bánt egy kicsit, de valamit valamiért.
Szerk:
és kösz a javaslatokat.[ Szerkesztve ]
-
adam_
senior tag
SQLSTATE[42S02]: Base table or view not found: 1146 Table 'drupal.languages' doesn't exist
Mi lehet a gond, drupal localhoston történő telepítés során XAMPPon keresztül, ezt írja ki, miután beállítottam a telepítőben az adatbázist (drupal) és a felhasználónevet: root A nyelvi fájlt a standard - translations mappába bemásoltam.
Az adatbázist előtte phpmyadminben is megcsináltam. Korábban mindig így telepítettem a Drupalt localhostra és semmi baja sem volt.
Most igaz azóta volt egy Windows reinstall, de most nem értem miért nem megy.Próbáltam úgy is, hogy a nyelvi fájlt nem másolom be a translations mappába, ezt követően ugyan azon a részen túl is megy a telepítőbe, de akkor ezt követően ez a hiba üzenet jelenik meg:
Fatal error: Call to undefined function field_attach_load() in C:\xampp\htdocs\drupal\includes\entity.inc on line 321
Mit gondoltok?
Előre is köszönöm az észrevételeket!
-
Sk8erPeter
nagyúr
Nyelvi fájlok külön másolgatása helyett ezt a Drupal-disztribúciót ajánlom neked telepítésre, ha azt szeretnéd, hogy eleve többnyelvű Drupal-felületet tudj telepíteni (persze ez nem mentesít a többi kiegészítő többnyelvűséghez tartozó modulok telepítésétől!!):
http://drupal.org/project/l10n_install
lényege, hogy eleve már a telepítésnél ki tudod választani a megfelelő nyelvet a lokalizációhoz, és így lesz egy lokalizált Drupalod, plusz eleve telepítésre kerül az amúgy szinte kötelező l10n_client és l10n_update is.
Ettől még az i18n, i18nviews, entity_translation, title és egyebek is ajánlottak a többnyelvűséghez.===
"Most igaz azóta volt egy Windows reinstall, de most nem értem miért nem megy."
... és ment vele a MySQL-szervered összes adata is (adatbázisok tartalma), vagy azt legalább lementetted?"Próbáltam úgy is, hogy a nyelvi fájlt nem másolom be a translations mappába, ezt követően ugyan azon a részen túl is megy a telepítőbe"
Manuális b*zerálás helyett mondom, inkább rakd fel eleve az l10n_install disztribúcióval, többek közt Hojtsy Gábor a felügyelője, aki főszereplő a Drupal többnyelvűsítésében (Acquia-nál dolgozik, és jelenleg ő felelős többek közt a Drupal 8 többnyelvűsítéséért).
A többnyelvűséggel kapcsolatos cikkei amúgy is sok-sok hasznos infót tartalmaznak:
http://hojtsy.hu/================
(#448) Siriusb :
szívesen![ Szerkesztve ]
Sk8erPeter