- 80% vs. 100% – Tönkreteszed az aksit, ha mindig feltöltöd? – Tech Percek #6
- Ötlettől a megvalósításig: használjuk a nyelvi modelleket új ötletekhez!
- Nem veszik el az Activision Blizzardot a Microsofttól
- Elmondta a Nintendo, hogy mennyi Switch 2-t vihetnek haza az emberek
- Kevesebb bevételét adja át az OpenAI a Microsoftnak
- Milyen asztali (teljes vagy fél-) gépet vegyek?
- Milyen billentyűzetet vegyek?
- AMD Navi Radeon™ RX 9xxx sorozat
- NVIDIA GeForce RTX 5080 / 5090 (GB203 / 202)
- 15+ Windows TIPP, amit eddig SENKI nem mutatott meg!
- Milyen videókártyát?
- PLC programozás
- Milyen széket vegyek?
- AMD K6-III, és minden ami RETRO - Oldschool tuning
- Sony MILC fényképezőgépcsalád
-
PROHARDVER!
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 #199 üzenetére
Hmm, már értem. Most hirtelen nem jut eszembe ellenérv.
Végre én nyertemJó lenne a modul - a leírás alapján -, csak nincs hozzá 7-es verzió. Szerintem túl sok a változás drupal 6 és 7 közt, hogy én át tudjam hekkelni, de azért majd vetek rá egy pillantást.
Egyébként néztem már a többi hozzászólásaidat, csak nem jutottam el a kipróbáláshoz. Próbáltam használni a theme developer-ből kinyert függvény neveket, de a 2 db alulvonás (is)kicsit megkavart.
És azt derítettem ki még, hogy theme() függvényt illik inkább használni. Az a baj, hogy az utánaolvasással is elmegy rengeteg idő.
Pedig már megszokhattam volna.
-
Sk8erPeter
nagyúr
Hmm, már értem. Most hirtelen nem jut eszembe ellenérv.
Viszont kipróbálhatnál erre is egy modult, ezt: Node Title.
Ezt még nem próbáltam, de elvileg ez is csak megjelenítéskor változtat a címen:
"The difference with this module is mainly in functionality. Automatic Nodetitles hides the actual title field from the node creation form and let you configure a default title that will be stored as the actual node title in the database. This module does not change the actual title of the node, it just lets you modify the display of a node title when you view it."Szerk.:
Egyébként azt el tudod esetleg mondani, mi az alkalmazási terület, ami miatt ez szükséges, amit csinálsz? Csak hogy jobban értsem.
Elmondok egy saját példát, ahol szükségem volt az Automatic Nodetitles-re: júzerek feltölthetik Youtube-videók linkjeit, én pedig nem akarom, hogy a címet manuálisan adják meg, hanem egy PHP pattern segítségével (igen, sajnos itt még használom a PHP filtert, itt még nem alkalmaztam hookot) kiszedem Youtube-ról a videó ott tárolt címét, majd ezt adom meg a node címének. Tehát a cím automatikusan generálódik a Youtube-os cím alapján.
Nálad mi az alkalmazás módja?
Csakis egyszer adható meg a node-nak cím? Utána azt már nem is lehet változtatni többé?
Ha jól értem, egyszer megvan a node title, ezt a felhasználó nem látja, az csak belső használatra kell, ők egy mező tartalmát látják csak. De a mező tartalmát ők adják meg? Azt tudják módosítani?
Azért kérdezem megint, mert a kerülő megoldást keresem: tehát pl. hogy nem elég-e, ha épp az általad látott cím tárolódik mezőértékként, csak az admin-oldalakon kell kiszedni a megfelelő címet, és akkor kisebb szívás, tehát a felhasználók a "rendes" node title-t látják. -
Siriusb
veterán
válasz
Sk8erPeter #194 üzenetére
Nos, nézzük a listát, ahol látható, hogy a node title eredetileg a "második" értékkel bír:
[link]Node:
[link]Miután alkalmazom a pathauto modult: Automatically generate the title and hide the title field, eltűnik az általam megadott title, helyére a generált érték kerül AutoNodeTitle-kettes:
[link]Tehát, nem tudom megőrizni a manuálisan megadott title-t, amit ÉN láthatnék a content list - ben, de amit nem látnának a látogatók, hiszen számukra egy külön előállított title lenne (mindenhol, minden HTML elemben, hiszen a teljességre törekszünk).
-
Sk8erPeter
nagyúr
válasz
Sk8erPeter #196 üzenetére
A lényeg az utolsó bekezdésből: ha az Automatic Nodetitles-t használod, és adatbázisszinten generáltatod le a címet, akkor nem kell ez az egész bohóckodás, mert akkor a language switcher block is a helyes címet fogja megkapni.
-
Sk8erPeter
nagyúr
válasz
Sk8erPeter #195 üzenetére
Ja, egyébként ha az aktuálisan beállított title kell, akkor ezzel tudod lekérni:
htmlspecialchars(menu_get_active_title());A check_plain azért nem jó, mert az a sima aposztrófot is átalakítja '-re, ez pedig a title-ben is így jelenik meg, ha föléviszed az aposztrófot.
Fontos megjegyzés az előző hsz.-hez, hogy ettől még a fordítást meg kell oldani.
Esetleg a foreach-en belüli részt át lehetne alakítani így:$options = array('langcode'=>$langcode);
$variables['links'][$langcode]['attributes']['title'] = t('!myTestFieldValue (original: !originalTitle)', array(
'!myTestFieldValue' => $myTestFieldValue,
'!originalTitle' => $langLinksArray['attributes']['title'],
),
$options
);Így már benne van a langcode is a t() alkalmazásánál, bár ettől még mindig megoldandó probléma lesz szerintem a fordítás. Bár ha valami egyedi cuccot akarsz generálni a cím mögé, ami mindegyik nyelvnél azonos, akkor ez nem probléma, de ha minden nyelv adott custom mezőjéhez más-más érték tartozik, akkor ez továbbra is megoldandó probléma.
Amennyiben ez a helyzet, akkor már megint visszatérnék az Automatic Nodetitles-hez, meg amúgy is az lenne a javasolt megoldás, mert ez adatbázisszinten változtatja a node-ok címét, miután legenerálta az adott pattern alapján, nem pedig csupán a megjelenítéskor alakítgatja át a címet.
-
Sk8erPeter
nagyúr
válasz
Sk8erPeter #194 üzenetére
Alábbiakban leírom, hogyan változtattam meg a Language switcher block linkjeinek "title" attribútumát.
Két fontos info:
- az én theme-em neve zenTest (Zen theme subtheme-je), ezt az elnevezést fogom használni a továbbiakban, ez cserélendő a saját theme-etek nevére
- korábban megváltoztattam a node címét egy modullal, a hook_node_view() implementálásáért felelős függvényben.1.) Először megnéztem a language switcher block-ot Theme Developerrel (must-have): [link]. Ahogy a képen látható, a title attribútum tényleg nem változott a nyelvi linkeknél, pedig a címet már megváltoztattam korábban a modullal, ahogy fentebb említettem (látszik is a "Test field's value" rész a címben, az azután lévő "original:" után lévő rész az eredeti cím!!).
Ha a nyelvi link fölé viszem az egeret, még mindig a régi cím jelenik meg: [link].
2.) Megnéztem a "Candidate function names"-nél felajánlott nevet: "links__locale_block" - tehát kell nekem majd egy theme_links__locale_block() függvény.
3.) Megkerestem a theme_links() függvényt a hivatalos Drupal-oldalon. Ezt úgy, ahogy van, bemásoltam a template.php fájlomba, majd a függvény nevét theme_links-ről átneveztem zenTest_links-re, mert nálam zenTest az aktív theme neve.
4.) Létrehoztam a zenTest_links__locale_block függvényt (úgy tűnik, nem is kell a sima theme_links__locale_block!), majd beletettem ezt:/**
* @see zenTest_links()
*
* @param array $variables
* @return string
*/
function zenTest_links__locale_block($variables) {
$node = menu_get_object();
if ($node->nid) {
if ($node->type == 'test_multilingual_type') {
$myTestFieldValue = $node->field_title_for_test['und'][0]['value'];
foreach ($variables['links'] as $langcode => $langLinksArray) {
$variables['links'][$langcode]['attributes']['title'] = t('!myTestFieldValue (original: !originalTitle)', array(
'!myTestFieldValue' => $myTestFieldValue,
'!originalTitle' => $langLinksArray['attributes']['title'],
)
);
}
}
}
return zenTest_links($variables);
}5.) Létrehoztam a zenTest_theme() függvényt:
/**
* Implements hook_theme()
*
* @return array
*/
function zenTest_theme() {
return array(
'links__locale_block' => array(
'variables' => array('links' => NULL, 'attributes' => array('class' => array('links')), 'heading' => array()),
),
);
}6.) Empty cache (enélkül nem megy!), majd próba.
A változtatás után: [link].
A komplett kód tehát:
http://pastebin.com/iLJcmX3K -
Sk8erPeter
nagyúr
"A node title úgymond belső használatra (azonosításra van), viszont nem kéne publikus legyen, mert nem értelmezhető a látogatók számára."
Nem értem. Miért lenne publikus? Az Automatic Nodetitles segítségével a content type szerkesztésénél beállíthatsz egy mintát, ami alapján generálódik a cím, amihez fieldeket is felhasználhatsz, lásd ezt: [link].
Akár teljesen elrejtheted a "Title" mezőt, és beállíthatod, hogy az milyen minta alapján generálódjon (pl. épp a másik mezőből!).
Ennek a szerkesztéséhez meg csak annak van joga, akinek a content type-ot is van joga szerkeszteni, tehát mezei júzer ezt egyáltalán nem látja!
A cím tehát így is automatikusan generálódik, ebből a felhasználó ebből semmit nem lát.
Ez miért nem jó?"Ha változik a tartalom, amiből a dinamikusan előállított title keletkezik, az úgy helyes, hiszen a node - ban található mezőből állítom elő (kivéve egy helyen, ahol konstans), azaz nem borul az egész, hanem úgy működik, ahogy szeretném."
Igen, és pont ezt, amit most leírtál, meg lehet csinálni a már említett Automatic Nodetitles modul segítségével.Mindenesetre találtam egy megoldást a language switcher block title mezőjének megváltoztatására, gányolás nélkül, mindjárt leírom azt is, csak előbb készítek screenshotokat, hogy érthetőbb legyen.
-
Siriusb
veterán
válasz
Sk8erPeter #192 üzenetére
Azért nem jó az a modul, mert nem azt akarom, hogy helyettem, mint a pathauto, generáljon egy értéket, amivel felülírja a node - ot.
A node title úgymond belső használatra (azonosításra van), viszont nem kéne publikus legyen, mert nem értelmezhető a látogatók számára.
Ha változik a tartalom, amiből a dinamikusan előállított title keletkezik, az úgy helyes, hiszen a node - ban található mezőből állítom elő (kivéve egy helyen, ahol konstans), azaz nem borul az egész, hanem úgy működik, ahogy szeretném. -
Sk8erPeter
nagyúr
Most megint megnéztem a kódodat, és hát azt kell, hogy mondjam, hogy a "nem szép" kifejezés elég finom volt ennek jellemzésére....
Mi történik, ha változtatsz a címeken, tartalmakon, akkor borul az egész?
Basszus, most értettem meg, mire gondolsz a language switchernél... tehát a lényeg, hogy a title-be kerül bele a tartalom, mind a blokknál, mind pedig a node aljánál lévő nyelvváltoztató linkeknél. Akkor ezt mondd!
Na mindjárt utánanézek, hogy lehet ezt szépen megoldani.
De azért közben gyorsan megkérdezem: miért akarsz ezzel feltétlenül szívni, miért nem jó neked a linkelt modul, amivel patternek segítségével éred el ugyanezt?Page title megváltoztatására hátha hasznát veszed: [link]. Bár erre is vannak modulok, felesleges vele szopni.
"Valami olyat olvastam a fejlesztőjétől, hogy írják meg rendesen a többiek a moduljukat, ő nem foglalkozik vele. Ilyesmire emlékszem."
De utálom az ilyen fejlesztőket...biztos rendkívül nehéz lenne írni egy ellenőrző függvényt, hogy minden kulcs a helyén van-e.
"Le vagyok nyűgözve, a tarhelypark.hu-n van script a drupal 7.14 (!) telepítésére. Fél perc az egész, létrehoz adatbázist, usert."
Jaja, a Tárhelypark CPanelje tényleg faszán működik, ez engem is meglepett, hogy tele van funkciókkal, ami szép és jó, de ugye úgy álltam hozzá, hogy tuti a fele nem működik, és pedig de... ami link ott van, az tényleg működik!Legalább így kéne hozzáállnia a dolgokhoz minden szolgáltatónak.
-
Siriusb
veterán
válasz
Sk8erPeter #190 üzenetére
title=" után keresem a következő macskakörmöt, hogy megtaláljam, hol a vége a title="ez nem kell" -nek.
Egyébként nálad hogy van benne a node title a language switcher block-ban?
Nem tudom mennyire lényeges: a node-t (custom content type) views segítségével állítom elő. Ha a nyelvek neveire viszem az egérmutatót, pl. English, szépen kibuborékozza a node-title-t, mig a zászlónál az English szavat írja kiBár akkor az meg a Pathauto modul hibája, ha ezt az esetet nem kezeli le.
Valami olyat olvastam a fejlesztőjétől, hogy írják meg rendesen a többiek a moduljukat, ő nem foglalkozik vele. Ilyesmire emlékszem.Igen, nem lenne rossz valahogy szebben megoldani a hibakezelést.
Le vagyok nyűgözve, a tarhelypark.hu-n van script a drupal 7.14 (!) telepítésére. Fél perc az egész, létrehoz adatbázist, usert.
-
Sk8erPeter
nagyúr
$last_pos = strpos($variables['content'],'"',$first_pos+8);
Te most itt miket művelsz?Őszintén szólva nem volt nagyon kedvem megérteni a kódot, mert számomra eléggé homály. Mi az a +8?
Miért pont 8?
Egyébként nálad hogy van benne a node title a language switcher block-ban?
Nálam sem annál, sem a Language switcher dropdown blokkjában nincs benne: [link].(#185) Siriusb : ja, ehhez még annyit, hogy ezek szerint a Pathauto elég érdekes dolgokat művelhet, ha egy másik modul csak úgy tönkrevághatja... bár elvileg a Pathauto is biztosít hookokat ahhoz, hogy URL aliast létre tudjon hozni a modult, amennyiben a Pathauto modul megvan, lehet, hogy az vágja tönkre ilyenkor a dolgot, hogy valamelyik modul fosul implementálja az adott hookot. Bár akkor az meg a Pathauto modul hibája, ha ezt az esetet nem kezeli le.
Egyébként nem tudom, mi a véleményetek erről, de én azt tapasztaltam, hogy Drupalnál már a core-ban is sok esetben a hibakezelés eléggé csapnivaló (a modulok fejlesztői meg sokszor átveszik ezt a mentalitást). Miért kell nekem PHP-s warningokon keresztül értesülnöm róla, hogy valami modul hülyeséget csinált?
Van egy olyan érzésem, hogy a Drupal core-ban is esetleges teljesítménybeli okokból nem akartak mindenféle hibát lekezelni, de néha indokolatlannak érzem, hogy megspórolták - szerintem az sem normális, hogy nagyobb hiba elkövetésénél fehér képernyőt észlelsz, aztán debuggoljál, vazze...(#184) SecMan : várom.
-
Siriusb
veterán
válasz
Sk8erPeter #188 üzenetére
Ez tényleg működik. Kösz.
-
Sk8erPeter
nagyúr
phpMyAdmin + BLOB:
Configuring phpmyadmin to show Drupal 7 BLOB data# Show 1000 rows instead of 30 by default
$cfg['MaxRows'] = 1000;
# Show BLOB data as a string not hex.
$cfg['DisplayBinaryAsHex'] = FALSE;
# Show BLOB data in row detail pages.
$cfg['ProtectBinary'] = FALSE;
# Show BLOB data on table browse pages. Hack to hardcode all requests.
$_REQUEST['display_blob'] = TRUE; -
Siriusb
veterán
Meguntam és favágó módon oldottam meg:
function MY_THEME_preprocess_block(&$variables, $hook) {
if ($variables['block_html_id'] == 'block-locale-language'){
//removing node title value from language switcher url title
$first_pos = 0;
for ($i=0;$i<2;$i++){
$first_pos = strpos($variables['content'],'class="language-link',$first_pos);
$first_pos = strpos($variables['content'],'title',$first_pos);
$last_pos = strpos($variables['content'],'"',$first_pos+8);
$variables['content'] = substr_replace($variables['content'],'',$first_pos,$last_pos-$first_pos+1);
}
}
}
Nem szép, de hatékony -
Siriusb
veterán
válasz
Sk8erPeter #160 üzenetére
Dumáljunk tovább az ügyről, kicsit kiegészítve.
Elöljáróban annyit, hogy valószínűleg külön modult kellene pont egy ilyen esetre írni, de én a template.php-ben akarom megcsinálni.
Kicsit ismerkedni szeretnék itt a hook használattal.
Tehát, az a cél, hogy a weboldalon (a HTML-ben sem) ne a node title jelenjen meg, hanem egy általam tetszőlegesen előállított érték. Igazából 2 érték.
A template.php-ben
a MY_THEME_preprocess_page() függvénnyel átírom a böngésző fülén és a node title-ként megjelenő értékeket:
if (array_key_exists('node', $variables)) {
if ($variables['node']->type == 'sajat_tipus') {
drupal_set_title($variables['node']->field_sajat['und'][0]['safe_value'], $output = CHECK_PLAIN);
$variables['title'] = t('ez legyen az uj, statikus ertek');
}
}Ennél "szebb" megoldásra nem tudtam rájönni.
A <head> esetén:
function MY_THEME_html_head_alter(&$head_elements) {
$node = menu_get_object();
if ($node->nid) {
if ($node->type == 'sajat_tipus') {
$head_elements['rdf_node_title']['#attributes']['content'] = $node->field_sajat['und'][0]['safe_value'];
}
}
}Amit nem tudtam kiókumlálni több óra alatt sem: a language switcher blokkban a nyelvnél link title-ként megjelenik a node title. Na ezt nem tudom, hogy lehetne felülírni.
-
Siriusb
veterán
válasz
Sk8erPeter #182 üzenetére
Jelen esetben egy list_text-ről van szó.
Én nem próbáltam meg elmenteni a változtatást a figyelmeztetés hatására, csak elkezdtem rákeresni a neten és ott olvastam, hogy nem ajánlatos változtatni. Belenéztem az adatbázisokba, a key|value BLOB-ként van tárolva, gondolom a helyes karakterkódolás miatt, viszont mindegyik node-ban felhasznált value külön-külön le van tárolva, emiatt gyanítom, hogy a változás felül sem írná a régebben létrehozott node-okat.
Nem volt még kedvem teszt adatbázissal kikísérletezni, de úgy látom, elkerülhetetlen lesz.Patterns:
nekem itt annyi látszik, hogy Save configuration, oszt csókolom. Illetve látszott, mert most már megjavult.
Annyit tudok róla, hogy elég megfoghatatlan hiba, kinek ez, kinek az a modul okozza a jelenséget, és jó workaround sem nagyon volt. Nálam mindenesetre a 2.1-es Variables gyógyírt hozott. Remélem ez így is marad.Szerk:
hosszú ideje húzodott már az avatár dolog, kb fél évre feledésbe is merült, de Ndruu segítségével röpke 2-3 hét alatt megvalósult. Egy barátom is elkezdett egy próbát készíteni, de nem rajongtak érte.
Szóval kösz. -
SecMan
csendes tag
válasz
Sk8erPeter #183 üzenetére
IE-parára Drupal 6-hoz (!) ez nagyon hasznos modul:
nem az IE volt a para
tudom hogy az ennyit tud, drupal css tömörítése jó neki
Ez viszont nem teljesen jött át... kéne látni egy kódot, hogy ez miért is van így, és hogy is kell pontosan elképzelni. Esetleg majd ezt ki tudod még picit fejteni, vagy példát mutatni, vagy ilyesmi?
Persze, természetesen, szeretnék is, mert mint mondtam nem egyszerű eset
Szóval fogok. -
Sk8erPeter
nagyúr
"CSS tömörítés előtt minden működött (leszámítva IE-t a sok CSS fájl miatt)."
IE-parára Drupal 6-hoz (!) ez nagyon hasznos modul:
IE CSS Optimizer
Itt bizonyos modulok CSS-fájljait kiszedheted a tömörítésből. Bár én azt hiányolom, hogy nem lehet többet is kijelölni, mindig csak egyre lehet korlátozni.
Azt most nem vágom, D7-hez most konkrétan miért is nem készült ilyen modul, mert attól még a tömörítésnél néha jól jönne, ha csak egyes fájlokat ki lehetne szedni."tömörített CSS fájlba, de a böngészők (FF, Chrome, IE....) nem alkalmazzák!
Ha ezt az első deklarációt átmásoltam egy másik CSS fájlba, akkor használták....
Ha kitöröltem (és a korábbi második deklaráció lett az első), akkor az elsőt megint nem alkalmazták...
Egyelőre olyan gyönyörű megoldást találtam, hogy beírtam egy
.blabla{} -t az elejére, és így "jó"....."
Ez viszont nem teljesen jött át... kéne látni egy kódot, hogy ez miért is van így, és hogy is kell pontosan elképzelni. Esetleg majd ezt ki tudod még picit fejteni, vagy példát mutatni, vagy ilyesmi? -
Sk8erPeter
nagyúr
Milyen típusú, amit változtatni akarsz?
Én most létrehoztam egy List (integer) mezőt (Select list widgettel), és tudtam változtatni utólag is a kulcsokat is meg az értékeket is.
Tudsz mellékelni screenshotot?"A Variables 2.1 verziójával újra láthatóak a Patterns fülön lévő tartalom típusok, mármint az azokra vonatkozó beállítási lehetőségek."
Én nem értem nálad ezeket a parákat, nálam Variable 7.x-1.1 van fent, és minden szükséges pattern látszik: http://i.imgur.com/GYEdB.png
Nem jöttél még rá, mitől tűnnek el úgy hirtelen ezek a mezők, meg fordulnak elő ilyen furcsa problémák?Ja, még nem is gratuláltam, hogy már egyedi avatarod van, szóval grat.
-
SecMan
csendes tag
@Sk8erPeter: Persze, hogy érdekel, csak PHP-hoz nem értek... de ez már egyéni szoc problem
Az én hajtépős hibám röviden, mert részletesen nemtom mikor fogom tudni ledokumentálni:
CSS tömörítés bekapcsolásával jött elő.
Adott Drupal 7 rendszer Zen sminkkel (mert azt szeressük).
Adott 6 egyedi css fájl, amiben az egyedi dolgokat írtam meg (pl. főoldal egy view ami teljsen eltér a többitől, stb)
CSS tömörítés előtt minden működött (leszámítva IE-t a sok CSS fájl miatt).
CSS tömörítés után 1-1 dolog nem stimmelt.
Mint kiderült, 2 fájlból (nem mind a 6ból) az első deklarációk bár bekerülnek a tömörített CSS fájlba, de a böngészők (FF, Chrome, IE....) nem alkalmazzák!Ha ezt az első deklarációt átmásoltam egy másik CSS fájlba, akkor használták....
Ha kitöröltem (és a korábbi második deklaráció lett az első), akkor az elsőt megint nem alkalmazták...
Egyelőre olyan gyönyörű megoldást találtam, hogy beírtam egy
.blabla{} -t az elejére, és így "jó"..... -
Siriusb
veterán
válasz
Sk8erPeter #179 üzenetére
Nem lesz "baj" belőle. Más érték fog tartozni hozzá, az már más kérdés, hogy nem engedi, mert vannak már feltöltött értékek.
Ki kellene nyomozni egyszer, hogy működik. Hátha adatbázisban átírás segít. Elég ciki lenne, ha valami javítás miatt új mezőt kellene létrehozni és átmásolni a már létező node-okból az értékeket. És persze ez tönkrevág minden kézzel írt php kódot, views-t, mivel más nevet kap a field.Pathauto:
A Variables 2.1 verziójával újra láthatóak a Patterns fülön lévő tartalom típusok, mármint az azokra vonatkozó beállítási lehetőségek. -
Sk8erPeter
nagyúr
Nem lesz "baj" belőle.
Más érték fog tartozni hozzá, az már más kérdés, hogy nem engedi, mert vannak már feltöltött értékek.
(#175) Siriusb: ezt most nem vágom, hogy tűnt el neked minden?
(#176) Siriusb : mármint mit oldott meg, visszakerültek a mezők, vagy mi?==========
(#177) SecMan : na, micsoda megkönnyebbülés, hogy azért mást is érdekel a Drupal!
Nem kicsit hajtépős hibát én is tudok neked mutatni, ezt nem tudom, láttad-e még korábban, mondjuk ez NEM user error, hanem valami érthetetlen baromság:
[link]
Azóta sem jöttem rá az okára. A kódot kénytelen voltam helyettesíteni az Ubercart core modulban, a Conditional Actions-nél úgy, hogy működjön. -
Siriusb
veterán
Az URL aliases / Patterns-ből megint eltűnt minden, egy sor sincs, hogy definiálhassak bármit is.
-
Siriusb
veterán
Ki mit tud erről (drupal 7):
FIELD SETTINGS
There is data for this field in the database. The field settings can no longer be changed.
These settings apply to the MY CUSTOM TYPE field everywhere it is used. These settings impact the way that data is stored in the database and cannot be changed once data has been created.Mondjuk van 3 db engedélyezett értékem. Feltételezem azzal még nincs gond, ha beadok egy negyedik lista elemet. Ám mi történik olyankor, ha egy létezőt akarok megváltoztatni. Mivel ez key | value párosban van tárolva, ha a value értékét módosítom, baj lesz belőle? A key-hez értelemszerűen nem nyúl az ember.
-
Siriusb
veterán
válasz
Sk8erPeter #172 üzenetére
Ne zavarj már össze.
Mittomén
Amúgy azért nem rossz, hogy ketten viszünk egy topicot.
Na most képzeld el, milyen lenne, ha csak magamban beszélgetnék, mint 2 héttel ezelőtt néhány napon keresztül.
Lehet a nekromanta mellé megkaphatjuk a drupal_hangya titulust is. -
Sk8erPeter
nagyúr
ja, hát ez már lehet conditional stylesheet, csak az nem, amit az imént "idéztél" a kódból.
Szóval arra gondoltál, de mást mutattál?Amúgy azért nem rossz, hogy ketten viszünk egy topicot.
A cél a topic kiemeltté nyilváníttatása azáltal, hogy elképesztő aktív munkát folytatunk itt.
-
Siriusb
veterán
válasz
Sk8erPeter #170 üzenetére
Erre gondoltam:
<!--[if lt IE 7]>
<link type="text/css" rel="stylesheet" media="all" href="/themes/garland/fix-ie.css" /> <![endif]-->Akkor ennek mi a helyes neve, csak hogy helyére tegyük.
-
Sk8erPeter
nagyúr
"A linked az conditional stylesheet."
Ebben nincs semmi stylesheet, szóval csak az első fele igaz, hogy conditional.Ettől még ehhez a modulhoz nincs köze.
-
Siriusb
veterán
válasz
Sk8erPeter #168 üzenetére
A linked az conditional stylesheet.
Nálam:
<!DOCTYPE html>
<!--[if IEMobile 7]><html class="iem7" lang="en" dir="ltr"><![endif]-->
<!--[if lte IE 6]><html class="lt-ie9 lt-ie8 lt-ie7" lang="en" dir="ltr"><![endif]-->
<!--[if (IE 7)&(!IEMobile)]><html class="lt-ie9 lt-ie8" lang="en" dir="ltr"><![endif]-->
<!--[if IE 8]><html class="lt-ie9" lang="en" dir="ltr"><![endif]-->
<!--[if (gte IE 9)|(gt IEMobile 7)]><!--><html lang="en" dir="ltr"ÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁ
Amikor szórakoztam a hook-okkal, az egyik függvényben benne maradt a <pre> és ezt a DOCTYPE előtt írta ki. Kiszedtem, most már jó.
Bocs a hülyeségemért. -
Sk8erPeter
nagyúr
Hogy néz ki nálad konkrétan az erre vonatkozó kód?
Ilyen, mint itt? Lásd View source. -
Siriusb
veterán
válasz
Sk8erPeter #166 üzenetére
Nem
Idáig a google sem mondott semmi használhatót. Lehet előveszem a conditional stylesheet modult, megpróbálom azzal.
-
Siriusb
veterán
válasz
Sk8erPeter #164 üzenetére
Ha a normál property-t változtatom, változik az IE-ben is.
#block-home-link-home-link-block h2{
display: none;
}
.lt-ie8 #block-home-link-home-link-block,
.lt-ie9 #block-home-link-home-link-block h2{
display: block;
}
IE8-ban és 7-ben a h2-t mutatni kellene. Ám inkább nem csinál semmit.
Ha kiszedem a display:none-t, mutatja IE-ben is. -
Siriusb
veterán
válasz
Sk8erPeter #162 üzenetére
Igazából úgy látom, az még az IE6-hoz is jó:
<!--[if lte IE 6]><html class="lt-ie9 lt-ie8 lt-ie7" lang="en" dir="ltr"><![endif]-->
Lásd class.nem akarok semmi extrát, csak pl. pozíciót javítani, de még egy egyszerű betűszínt sem változtat meg.
Valamit biztos bénázok, de nem tudom, itt mit lehet elrontani.
-
Sk8erPeter
nagyúr
Jaja, jól sejted.
Amúgy megtévesztő az lt-ie9 class, mert azt sejteti, hogy az összes IE-re vonatkozik, ami IE9-nél kisebb verziószámú, pedig csak IE8-ra vonatkozik.
Ennek tehát inkább valahogy így lenne értelme:
<!--[if lt IE 9]>
<html class="lt-ie9" lang="en" dir="ltr">
<![endif]-->Ha extra dolgokat akarsz detektálni (pl. CSS3-as, HTML5-ös dolgok támogatása, stb.), és megfelel, hogy JavaScript-támogatás kell hozzá, akkor tudom ajánlani a Modernizr-t, ellátja mindenféle class-okkal a <html> taget, attól függően, mit támogat a böngésző, és természetesen van modul is hozzá. Én ezt többek közt a CSS3-as transition támogatottságának detektálására használtam, a CSS-fájlba az ennek megfelelő class-okat raktam, példa:
.csstransitions
#navigation ul.links li a:hover
{
...
} -
Siriusb
veterán
válasz
Sk8erPeter #160 üzenetére
Nem mondod, hogy ilyen modul is van?!
A Zen témával ez
<!--[if IE 8]><html class="lt-ie9" lang="en" dir="ltr"><![endif]-->
hogy működik?
Elvileg elég lenne a css-ben .lt-ie9-cel kezdenem, és ha IE8-cal nézem, ez a stíéus fog érvényesülni, nem? Legalábbis kellene. -
Sk8erPeter
nagyúr
Szerintem ne szívj vele, használd ezt a modult:
Automatic NodetitlesHasználhatsz vele tokeneket a meglévő fieldekre, példa: [link].
Elég jól működik.De szólj, ha valamiért ez nem felel meg, és akkor tovább dumálunk az ügyről.
Ajánlott függvény: drupal_set_title(). -
Siriusb
veterán
válasz
Sk8erPeter #158 üzenetére
Inkább segíts ebben:
Van egy custom type content-em, nevezzük my_content-type-nak.
Azt szeretném, ha a title
<div class="title" id="page-title">EZ A TITLE</div>
lecserélődne valami másra, a node egyik mezejére, pl. field_ezlenneatitle értékére.A template.php-ben ezt hoztam létre:
function MY_THEME_preprocess_page(&$variables, $hook) {
if (array_key_exists('node', $variables)) {
if ($variables['node']->type == 'my_custom_type') {
$variables['title'] = t('something');
}
}
}Sajnos arra nem jöttem rá, hogy lehetne az adott content type-hoz fűzni, pl. .
function MY_THEME_preprocess_page_my_custom_type(&$variables, $hook)Mindenesetre eddig működik, de csak statikus értékkel. Ki tudom valahogy nyerni az egyik field-et a node-ból?
-
Siriusb
veterán
válasz
Sk8erPeter #156 üzenetére
Az volt az első. hogy kipróbáltam. Most ránézek újra, de ezek szerint valamit elbénáztam. Erre nyitva hagytam a lehetőséget, ezért írtam úgy: szerintem.
Szerk:
Szólj hozzá, most meg működik. Vajon mit cs@sztem el? Nem engedélyeztem a blokkot? -
Sk8erPeter
nagyúr
"<front>, ez az, amit php filterrel sem tudsz használni egy blokkban, szerintem."
De szerintemek helyett miért nem próbálod ki végre?
Nem csak a levegőbe beszélek, kipróbáltam, mielőtt leírtam. Meg még a megfelelő függvényt is belinkeltem, a dokumentációból idézett résszel együtt, nem tudom, hogy győzzelek még meg- pl. úgy, hogy kipróbálod magad is.
Jaja, nem baj az, pörgesd csak a topicot, legalább jár az agyunk.
-
Siriusb
veterán
válasz
Sk8erPeter #154 üzenetére
Ezek nagyon hasznos információk, remélem nem felejtem el, amire legközelebb kelleni fog.
Nagy szerencse nekem, hogy Te már kitapostad az utat. Lassan tényleg jár neked meghívás egy bambira.<front>, ez az, amit php filterrel sem tudsz használni egy blokkban, szerintem.
Szerk.:
pörgetem én a topikot, csak mindig egyirányú az áramlás
Így jártál...
Elhiszem, hogy ezek fájó pontok, elég sok időd és energiád mehetett rá. -
Sk8erPeter
nagyúr
Jaja, a variable_get() a core része, ez mindenhol elérhető, a includes/bootstrap.inc fájlban található függvény. Kukkants bele phpMyAdminnal az adatbázisba, és nézd meg a `variable` táblát, na ez a függvény onnan szedi ki az adatokat. A második paraméterrel default értéket lehet megadni neki, ezt fogja visszaadni a függvény, amennyiben nincs beállítva érték a variable táblában (pl. nézd meg a site_frontpage nevű értéket, ehhez tartozik egy bizonyos érték, ha beállítottad a /admin/config/system/site-information oldalon. Példa: variable_get('site_frontpage', 'node') - megnézi, van-e a variable táblában site_frontpage nevű változóhoz beállítva valami (itt serialized értékek találhatóak, ami unserialized lesz), ha még nincs, akkor visszaadja a 'node' stringet. (Itt egy globális $conf változóban tárolódnak a beállított értékek, korábban állítja be a Drupal.)
Még egy, amit érdemes ismerni, ha nagyon egyszerűen akarsz tárolni (pl. modullal) adatot, és ugyanilyen egyszerűen akarod kiszedni:
variable_set($name, $value);
Egyszerűen megadsz egy nevet és a hozzá tartozó értéket. De vigyázz, ezzel a core modulok által beállított értékeket is felül lehet bírálni.
Törlés pedig a variable_del($name) függvénnyel történik.
Tényleg egyszerű használni, ha modult fejlesztesz, akkor pl. ez beállítások tárolására a legegyszerűbb mód lehet. (Komplexebbhez már nyilván saját táblák kellenek.)"echo l(t('Home'), variable_get('site_frontpage', 'node'));
Csalsz, idáig <front>-ról beszéltünk."
Igen, de ezt csak alternatívaként említettem meg.Inkább használd a <front>-ot, én azt mondanám, az szerintem beszédesebb. Ez csak azért volt érdekes, hogy mutassak ms módszert is, mert ilyen módon más változókat is ki tudsz kotorászni, ha kell.
===
Más: a PHP filter használatát meg kerüld. Eleinte, amikor időre kellett csinálnom dolgokat, és f*ngom nem volt még a hookok megfelelő használatáról, saját modulfejlesztésről, stb., akkor én is használtam kényszerből, de senkinek nem kívánom azt a szopást, amikor átnézi a régi tákolmányait, amit PHP filterrel kódolt, és aztán ültetheti át normálisan. Adatbázisban tárolni PHP-kódot? Fúj. Nekem nem nagyon mondták el ezeket (bár persze olykor kérdezgettem azért drupal.hu-n, drupal.stackexchange.com-on), csak szorgos utánaolvasás, kódkotorászás, beletanulás után jöttem rá, hogyan is kell normálisan használni a Drupalt, pedig mennyire más lett volna, ha van egy pörgős Drupal topic PH!-n akkor is...Brühühühühühűűűűűű, most felszakadtak a régi sebek, brühühühüűűűű!!
-
Siriusb
veterán
válasz
Sk8erPeter #151 üzenetére
A $variables-re gondoltam.
echo l(t('Home'), variable_get('site_frontpage', 'node'));
Csalsz, idáig <front>-ról beszéltünk. Nem tudtam, hogy van ez a variable_get(), ez mindenhol működik?
(#152) Sk8erPeter
array('html' => TRUE)
Tényleg agyilag zokni vagyok, elkerülte a figyelmem, ráadásul most, hogy láttam, már emlékszem is rá, régebben használtam. No comment...Ezer kösz.
Meg egy.
-
Sk8erPeter
nagyúr
Legegyszerűbb példával (szebb lenne azért ez esetleg egy theme() függvénnyel, ott generálni ezt a képet, vagy ilyesmi) kiegészítettem a korábbi kódot:
$home_translated = t('Home');
$items[] = array(
'data' => l('<span><img src="http://cdn1.iconfinder.com/data/icons/cc_mono_icon_set/blacks/32x32/home.png" alt="'.$home_translated.'" title="'.$home_translated.'" /></span>', '<front>', array('html' => TRUE)),
'class' => array('test-block-front-page'),
'id' => array('test-block-front-page-image'),
);Ezt generálja:
A házikó természetesen egy link a címlapra.
-
Sk8erPeter
nagyúr
"PHP filterrel a l(t('Home'), '<front>') NEM működik a blokkban, kipróbáltam, hiszen ott nem fér hozzá a szükséges változóhoz."
Én is kipróbáltam, és DE, MŰKÖDIK.Milyen "szükséges változóra" gondolsz?
A '<front>' nem egy változó, hanem egy string...
Nézd meg az url() függvényt:
"The special string '<front>' generates a link to the site's base URL."Ez is működik PHP filterrel (ahogy az előző is):
echo l(t('Home'), variable_get('site_frontpage', 'node'));
Ez a 'node' címet adja, amennyiben nincs beállítva más a /admin/config/system/site-information oldalon. -
Siriusb
veterán
Lenne még egy kérdés. A "Home" szöveget span-ok közé tenném, mert el lenne rejtve, a background-ként lévő házikó lenne csak megjelenítve (ami felett a láthatatlanul megjelenő (érdekes ez a két szó egy egymás mellett) Home szöveg szolgáltatná a linket). Tehát a span-re rátennék egy visibility:hidden-t.
Csak valami prepocess-szel tudom ezt elérni?Vagy van jobb megoldás?
-
Siriusb
veterán
válasz
Sk8erPeter #144 üzenetére
Ez így nagyon jó, köszi, szuperül működik.
PHP filterrel a l(t('Home'), '<front>') NEM működik a blokkban, kipróbáltam, hiszen ott nem fér hozzá a szükséges változóhoz. Ez volt a kezdeti problémám. -
Sk8erPeter
nagyúr
Az l(t('Home'), '<front>') működik a blokkban a PHP filterrrel, bár én a PHP filter használatát már eleve messziről kerülöm, mióta rájöttem, hogyan lehet az API használatával, szebben megoldani a dolgokat.
Ha van kérdés ezzel kapcsolatban, ne tartsd magadban - és használj saját modult ilyesmire. -
Siriusb
veterán
válasz
Sk8erPeter #144 üzenetére
Kösz a javaslatot.
Ennek nem nagyon látom értelmét, ha már ott van a $variables['front_page'].
Azt hittem, az abban a tömbben lévő változók elérhetőek lesznek a blokk előállításkor, de nem így történt.Azt hiszem, a Te megközelítésed a második legjobb az én nem működő első legjobbam után.
Érted?
A drupal api-ban az l() funkcióra konkrétan nem írják a <front> használatát, ám mivel ez úgy is az url()-t hívja meg, működnie kell. Kösz, ki fogom próbálni.
-
Sk8erPeter
nagyúr
válasz
Sk8erPeter #145 üzenetére
Itt van egy jó lista a további elérhető hookokról: [link]
- hook_block_configure
- hook_block_info
- hook_block_info_alter
- hook_block_list_alter
- hook_block_save
- hook_block_view
- hook_block_view_alter
- hook_block_view_MODULE_DELTA_alter -
Sk8erPeter
nagyúr
válasz
Sk8erPeter #144 üzenetére
Ja, és a teljesség kedvéért, ezt a HTML-kimenetet generálja:
<div id="block-testmodule-my-test-block" class="block block-testmodule first last odd">
<h2 class="block-title">Test block blabla</h2>
<div class="content">
<div class="item-list">
<ul class="test-block links inline clearfix">
<li class="test-block-front-page first" id="test-block-front-page"><a href="/" class="active">Home</a></li>
<li class="test-block-links test-block-email last" id="test-block-links-email"><a href="/contact">Email</a></li>
</ul>
</div>
</div>
</div><!-- /.block --> -
Sk8erPeter
nagyúr
Csak most látom a postodat.
1.) na, azt semmiképp.
Csak agyonbonyolítja, meg finoman szólva nem túl szép.
2.) hát, végül is lehet, ha nagyon akarod.
3.) $variables["page"]['header']["block_4"]["myfrontpage"] = $variables['front_page'];
Ennek nem nagyon látom értelmét, ha már ott van a $variables['front_page'].
Azt pedig a $front_page változóval tudod elérni.Szerintem értelmesebb egy nagyon egyszerű modullal létrehozni egy blokkot, meg is mutatom, Drupal 7 alatt hogyan tudod ezt megtenni:
Blokk létrehozása modulból Drupal 7 alatt (legegyszerűbb példa)
MYMODULE mindenhol behelyettesítendő a saját modulunk nevével.
1.) MYMODULE.info létrehozása:
name = Test Module
description = Description of my test module...
core = 7.x
package = MYMODULES2.) MYMODULE.module fájl létrehozása (<?php nyitótaggel)
3.) hook_block_info() implementálása:
/**
* Implements hook_block_info().
*/
function MYMODULE_block_info() {
$blocks = array();
$blocks['my_test_block'] = array(
'info' => t('My test block'), // The name that will appear in the block list.
'cache' => DRUPAL_CACHE_GLOBAL, // The block is the same for every user on every page where it is visible. (the default is DRUPAL_CACHE_PER_ROLE)
);
return $blocks;
}4.) hook_block_view() implementálása:
/**
* Implements hook_block_view().
*
* Prepares the contents of the block.
*/
function MYMODULE_block_view($delta = '')
{
$block = array();
switch ($delta) {
case 'my_test_block':
$block['subject'] = t('Test block blabla');
$items = array();
$items[] = array(
'data' => l(t('Home'), '<front>'),
'class' => array(
'test-block-front-page'
),
'id' => array(
'test-block-front-page'
)
);
$items[] = array(
'data' => l(t('Email'), 'contact'),
'class' => array(
'test-block-links test-block-email'
),
'id' => array(
'test-block-links-email'
)
);
$block['content'] = theme('item_list', array(
'items' => $items,
'attributes' => array(
'class' => 'test-block links inline clearfix'
),
'type' => 'ul'
));
break;
}
return $block;
}5.) /admin/structure/block oldalon engedélyezni a blokkot.
Screenshotok a végeredményről:
ANGOL:
MAGYAR:
NÉMET
-
Siriusb
veterán
Mi a legjobb módja annak, ha egy blokkban el akarok helyezni egy linket a front page-re, az éppen használt nyelvnek megfelelően?
1. Blokkot létrehozni mindegyik nyelvnek, hardcode link, csak az adott nyelvnél látható beállítással. Siccc.
2. page.tpl.php-ban hozok létre egy div-et, $front_page-dzsel kiíratom. Hmmmm.
3 my_theme_preprocess_block
Na, ezt nem sikerül összehozni. Addig eljutottam, hogy my_theme_preprocess_page-ben beadtam az értéket:
$variables["page"]['header']["block_4"]["myfrontpage"] = $variables['front_page'];
Ezt a function my_theme_preprocess_page(&$variables, $hook) látja is, de a blokkban php filter segítségével hozzá tudok férni valahogy? -
Siriusb
veterán
Örömöm közben egy kicsit fogom a fejem, újraraktam az egészet kórostól (core), modulostól, felvettem 2 szöveges mezőt, s láss csodát, egyelőre megy a pathauto, úgy ahogy kell. Egyedül az advanced help-et nam raktam vissza.
A régiben próbáltam új content type, új field-ek felvételével, de nem akart együttműködni velem, úgyhogy elszántam magam a fenti lépésre. Most jön az újraépítés. remélem még a végén is működni fog.
-
Siriusb
veterán
válasz
Sk8erPeter #140 üzenetére
Original node no, a leírását már nem olvastam el, túlságosan el van rejtve
Szerintem most egy napig hanyagolom a pathauto vegzálást, be kellene fejeznem a téma beizzítását. Később még biztos jövök ezzel a kérdéskörrel. Ebben a melegben nagyon döcögősen halad a munka.
Pedig már a country is szól, hátha ad egy kis ritmust...
-
Sk8erPeter
nagyúr
Akkor közelítsük meg másként a kérdést, mutasd meg Te a fent lévő moduljaidat.
Most nézem, itt van egy pár példa tokenekre, itt az "Original node" részen belül van egy-két ilyesmi, amit mutattál, de az erre vonatkozik: "The original node data if the node is being updated or saved."
Nálad nem ilyen kategórián belül van? Mondjuk akkor is kicsit más a formátuma, mert itt pl. "[node:sourceriginal:title]" van.
Másik, teszt Drupal 7 esetén rendesen működik az a token, amit mutattam az imént?
Nézd meg, azon is van-e ez az "original" rész. Valami csak belegenerálja másként, ami nálam nem történik meg... Én pont ezzel a tokennel ILYEN FORMÁBAN még nem találkoztam. -
Siriusb
veterán
válasz
Sk8erPeter #138 üzenetére
összekutyulódtam
Fenéket működik.
Akarok felvenni új content type-t és elölről kezdeni, hátha segít, mert elsőre csak tesztelgettem, szóval módosítgatás, törölgetés volt benne. Eddig még nem jutottam azonban el, mert egyrészt kutya meleg van, másrész haverom olyan olyan skint tervezett, a fülem is kettéáll. Mindenhol árnyékok, vonalak, szerintem szívatni akar. Lehet photoshop-ban sem volt könnyű megcsinálni."original" részt
Ezért kérdezgettem a moduljaidról, csak durván elbántál velem... -
Siriusb
veterán
válasz
Sk8erPeter #136 üzenetére
[link]
Nálam van. Viszont nálam nem működik úgy az alias generálás, ahogy nálad, szóval cserélnék.Pl. most beírtam még 1-2 mezőt, és nem akarja legenerálni az új minta alapján, csak a régivel.
A Te általad javasolt token működik.Hrrrrr.
-
Sk8erPeter
nagyúr
Jaaa, hogy így szeretnéd, értem....
Viszont olyan tokent, amit mutattál, nem láttam sehol (azért írtam, hogy ennyire nem ismerem őket, mert hátha csak nem találkoztam vele, de szerintem azért nem, mert ilyen nincs), csak ilyet:
[node:source:nid]Ez működik is.
Ezt a mintát hoztam létre a /admin/config/search/path/patterns oldalon a korábban említett content type-ra:
Pattern for all language neutral Test multilingual type paths
test-ml-neutral/[node:title]/[node:nid]/source-[node:source:nid]Pattern for all English Test multilingual type paths
test-ml-english/[node:title]/[node:nid]/source-[node:source:nid]Pattern for all German Test multilingual type paths
test-ml-german/[node:title]/[node:nid]/source-[node:source:nid]Pattern for all Hungarian Test multilingual type paths
test-ml-hungarian/[node:title]/[node:nid]/source-[node:source:nid]Tehát test-ml-NYELV/NODE_CÍME/NODE_ID/source-FORRÁS_NODE_ID.
Screenshot
ANGOL (/test-ml-english/test-multilingual-type-english/21/source-21)
NÉMET (/de/test-ml-german/test-multilingual-type-german/22/source-21)
MAGYAR (/hu/test-ml-hungarian/test-multilingual-type-hungarian/23/source-21) -
Siriusb
veterán
válasz
Sk8erPeter #134 üzenetére
Nem kell ismerni őket, elég kattintgatni a replacement patterns szekcióban
some/thing/[node:nid] és vala/mi/[node:nid] esetén a NID nem lenne ugyanaz, a forrás és a fordítás más node-ban van. Viszont ha egy google analyticsra ránézek, nem fogom tudni, hogy ez a kettő ugyanarra a tartalomra hivatkozik, csak más nyelven.
Pl. lesz cat/1, cat/9, cat/11 és macska/5, macska/10, macska/19 az előbbieknek megfelelően. Ebből nem fogok rájönni hogy a macska/5 tulajdonképpen az 1-es számú. -
Sk8erPeter
nagyúr
[node:original:source:nid]
Ilyen szinten nem ismerem ezeket a tokeneket, de miért lenne ez jó neked ehhez: "some/thing/1 (az eredeti változat NID=1) illetve vala/mi/1 (a magyarra fordított node, NID=2)"?
Most létrehoztam egy "Test multilingual type" nevű típust, és nálam most a magyar, német és angol nyelvek vannak engedélyezve, és az /admin/config/search/path/patterns elérési úton a következők vannak erre a típusra vonatkozóan:
Pattern for all language neutral Test multilingual type paths
Pattern for all English Test multilingual type paths
Pattern for all German Test multilingual type paths
Pattern for all Hungarian Test multilingual type pathsTehát mindegyikre külön-külön megadhatok egy mintát.
Ergo az esetedben a "Pattern for all English Test multilingual type paths" lehetne some/thing/[node:nid], a "Pattern for all Hungarian Test multilingual type paths" pedig vala/mi/[node:nid].Ez így nem jó neked?
-
Siriusb
veterán
válasz
Sk8erPeter #132 üzenetére
Próbáltam egy új telepítéssel, ott működik a field_groups-ban lévő mező is az url alias-ban.
Viszont a [node:original:source:nid] nem akar megjelenni itt sem! Angol és magyar nyelvű tartalom, URL úgy nézne ki:
some/thing/1 (az eredeti változat NID=1) illetve vala/mi/1 (a magyarra fordított node, NID=2)Azt hiszem a fejlesztői verzióba törlöm a content type-t és felveszem újra, hátha, bár nem sok kedvem van ennyit kattintgatni...
A [node:original:source:nid] tokent kipróbálnád te is? Kösz.
-
Sk8erPeter
nagyúr
-
Siriusb
veterán
válasz
Sk8erPeter #130 üzenetére
Lehet sutyiba adtál nekik valami patch-et, ami beleraktak, belőled kinézem.
Öregem, van ennyi modul egyáltalán, vagy csak kivágtál a képből egy részt és azt másoltad egymás alá? S azért fogod másra a rossz minőséget, mert nem akartad, hogy észrevegyem.
De szemfüles vagyok ám!
Nálam olyan modulok vannak, hogy: ctools, fieldgroup, date, adv help, token, internationalization, variable, views.
A fieldgroup bekavarhat, mert amikkel próbáltam, az csoportban van benne? Hmm, holnap megnézem. Egyébként én is textfielddel próbáltam.Lássalak ám holnap is!
-
Sk8erPeter
nagyúr
Ja, beleprogramozták a részrehajlást.
A tesztelési célra felrakott Drupalomon próbálkoztam, sok modul van fent:
http://i.imgur.com/67G3e.jpg
Bocs, az Imgur kissé lebutította a minőségét, azért ilyen fos minőségű, de talán olvasható még.
Szerintem mondjuk ebből csak a Token és a Pathauto a lényeges...Ja, amúgy amivel én próbálkoztam, az egy sima textfield. Te milyen mezővel próbáltad?
-
Siriusb
veterán
válasz
Sk8erPeter #127 üzenetére
Igyál aludt tejet, vagy mit tudom én mit szoktak ilyenkor csinálni...
A multilanguage dolog azóta végül akkor összejött?
IgenMost nem vágom, erre gondoltál?
/admin/config/search/path/patterns
Igen. Megy ez neked.my-test-ct/[node:field_stuff]
Ez nálam jól működik
Milyen modulok vannak még installálva? Pl internatiolizatis, variable?Vagy ennyire részrehajló a drupal, téged szeret, engem szivat? Vagy én szivatom magamat?
-
Sk8erPeter
nagyúr
Ezt sikerült megoldani azóta? Annak idején erre elfelejtettem válaszolni, de láttam a kérdésedet a Drupal topicban, most hirtelen nincs kedvem előkotorni, de láttam, hogy érkeztek kommentek, és kíváncsi lennék, végül mi lett a megoldás.
Más:
Nagyon érdekes hiba jött elő nálam a napokban Drupal 6-nál, Ubercartnak az uc_products táblája lekérdezésekor, amikor csak a nid-re vagyok kíváncsi, itt leírtam részletesen:
db_query('SELECT nid FROM uc_products'); doesn't give any results! Why?Nincs bárkinek bármi ötlete, hogy ezzel mit kezdjek? Egyszerűen semmi elképzelésem sincs, mi okozhatja ezt a problémát, annyira bugyutának és érthetetlennek tűnik az egész.
-
Sk8erPeter
nagyúr
Jé, van élet a topicban.
(bennem most nincs, túl sok volt a pia
)
Hmm, ez fura. Melyik változatot használod ezekből?
A multilanguage dolog azóta végül akkor összejött?
(#123): inkább írtál volna konkrét URL-t, most elő kellett kotornom.
Most nem vágom, erre gondoltál?
/admin/config/search/path/patternsA másik, ha már erről a beállítási oldalról beszélünk.
Kérdezted priviben, hogy lehet Pathauto-nál fieldekből generáltatni az URL aliast.
Létrehoztam egy "My Test Content Type" nevű content type-ot, azonbelül egy field_stuff azonosítójú mezőt, és a "Pattern for all My Test Content Type paths" részhez ezt írtam:
my-test-ct/[node:field_stuff]
Ez nálam jól működik, persze miután mondjuk adott node-nál az Edit lapon az "URL path settings"-en belül a "Generate automatic URL alias" checkboxot bepipáltam. -
Siriusb
veterán
Nos, úgy tűnik, az internationalization modul teszi hidegre a pathauto-t. Telepítéskor ezt az üzenetet kapom:
Notice: Array to string conversion in i18n_string_group_string_list() (line 273 of /.../sites/all/modules/i18n/i18n_string/i18n_string.admin.inc).
Valami ötlet, hogy ne csak magamban beszélgessek?
-
Siriusb
veterán
Kicsit szórakozok most a Drupal 7-tel.
Létrehoztam egy content type.t, de nem találom, hogy a mezőket hol lehet csoportosítani. Ez megszűnt volna?Ellenben a multilanguage site-ot előtudtam készíteni, csak még azt nem találom, hogy a prefix-et hol kell engedélyezni. Vagy elég a Languages / Detection & selection-ben az URL-t kipipálni? No majd kiderül.
-
Speeedfire
félisten
válasz
Sk8erPeter #118 üzenetére
Úgy értettem, hogy célkeresztben, hogy a 7-essel foglalkozik.
Majd ha lesz egy kis időm végigolvasom. -
SecMan
csendes tag
Drupal 7 alatt, hogy tudnám azt megoldani, hogy egy tartalomtípus egy másik tartalomtípus mezőit és azok értékeit átvegye?
Tehát létrehozok egy node-ot, kitöltöm a mezőit, majd egy másik tartalomtípus beküldésénél kiválasztom azt, hogy melyik nodeból vegye át ezeket és jelenítse meg. -
Sk8erPeter
nagyúr
válasz
Speeedfire #117 üzenetére
Így van, de már nem is csak "célkeresztben" van, hanem már kész.
(legalábbis a v1)
Itt megtalálható a tartalomjegyzék is:
Drupal 7 alapismeretekMeg is kérem, hogy tegyék be az első hsz.-be, ez mindenképp kötelező információ egy ezzel foglalkozó magyar fórumon.
-
Speeedfire
félisten
Kis olvasni való. Nagy Gusztáv kicsit átdolgozta a könyvét és most már a 7-es verzió van célkeresztben. Jó olvasást.
-
Sk8erPeter
nagyúr
válasz
PowerBuldog #115 üzenetére
Szerintem ez nem megoldás - inkább valami olyat tudnék elképzelni, hogy a címek kicsúsztak, így bár ott voltak az oldalon, nem voltak láthatók, tehát valami CSS-módosításra lett volna szükség.
Idézek a jól kommentezett Zen theme-ből, mire is jó az a $title_suffix:
* - $title_suffix (array): An array containing additional output populated by
* modules, intended to be displayed after the main title tag that appears in
* the template.Tehát előfordulhat olyan eset, hogy épp hiányozni fog a megléte, de inkább kiszedted - az ilyesmik előtt érdemes inkább developer console-on nézelődni, nincs-e más megoldás. Szerintem.
==
Szerk.: ja, egyébként érdekességként: Drupal 7 Theming cheatsheet. -
PowerBuldog
veterán
Hali!
A múltkori hibákat csak egy drupal újratelepítés oldotta meg. Azóta jól megy.
Most viszont van egy olyan "gondom" hogy bizonyos blockok tartalma adminisztrációs felületen nem látszik. Csak egy configure felirat. Ha kijelentkezek akkor megjelenik rendesen.
Hol nézelődjek a PHP-ben, hogy ezt az admin felületen is ugyan úgy lássam?Ja igen, a block tartalma full html-re van állítva, és egy img tag-el berakott képet tartalmaz.
MOD:
nem tudom, hogy másoknak segítség-e, mert saját készítés sminkről van szó, de így sikerült megoldani:
block.tpl.php fájlból törölni kellett a következő sort
"<?php print render($title_suffix); ?>"
Így ugyan úgy jelenik meg admin felületen is. -
Sk8erPeter
nagyúr
Siriusb már megírta a választ, annyit még hozzátennék, hogy eléggé gond lenne, ha nem listázná ki továbbra is, mert akkor az kvázi azt jelentené, hogy soha többé nem tudod feltelepíteni.
A Drupal beolvassa a sima modules és sites/all/modules és sites/valamidomain/modules könyvtár tartalmát is, megkeresi a megfelelő modulfájlokat, és ha azokat rendben találja, megjeleníti a modulok neveit ebben a listában, amik ezek alapján engedélyezhetőek.
Ezt mutatja meg a modulok listája. Tehát ha továbbra is ott van a listában, az azért van, mert fizikailag megtalálható a fájlrendszerben. Ettől még engedélyezve, telepítve nincs, ha már végrehajtottál egy uninstallt. -
Sziasztok!
Modult kikapcsolom, eltávolítás, kiírja, hogy eltávolítva majd visszamegyek és ott vigyorog a listában továbbra is. Mi lehet a gond?
-
Siriusb
veterán
válasz
Sk8erPeter #109 üzenetére
Ez a modul telepítési módszer már önmagában is felgyorsítja a munkafolyamatot.
Meglátjuk. Ha majd a 7-sel kapcsolatos kérdésekkel nyaggatlak, átálltam. -
Sk8erPeter
nagyúr
válasz
Sk8erPeter #108 üzenetére
Egyébként nekem ami nagyon tetszik, az a modultelepítés módszere: ráklikkelsz a modulok listáján az "Install new module" linkre, a megjelenő szövegdobozba csak beilleszted a modul hivatalos oldalán található tar.gz vagy zip linket a projektre, leokézod, az meg letölti és kibontja a modulok saját könyvtárába, még csak elő sem kell kapnod az FTP-klienst.
Ezután már ott az engedélyezés lehetősége.
(Persze ehhez először legyen rendben a tmp és a jogosultságok.)
Lehet, hogy önmagában nem nagy szám, de szerintem ez is egy a sok közül, ami nagyon kényelmessé teszi a Drupal használatát, főleg az elején, amikor még csak a core modulok vannak fent, és az ember nyilván teleszórja kismillió extra modullal. -
Sk8erPeter
nagyúr
Jaja, nekem kifejezetten tetszik.
Azt persze meg kell szoknod az átálláskor, hogy elég rendesen átstrukturálták, nagyon sok minden változott, az elérési utak is mások lettek, az admin-felületen elérhető menüpontok nevei is helyenként újak lettek, más sorrendben vannak, stb.
Eleinte akadós, de azért gyorsan rá lehet állni. Amúgy az új, default AJAX-os felületnél van egy shortcut menü, amire a saját linkjeidet rápakolhatod, olyan menüpontokat az admin-felületen, amit gyakran használsz, így gyorsabban eléred. Csak van egy korlát, hogy mennyi fér rá. -
Siriusb
veterán
válasz
Sk8erPeter #106 üzenetére
Ha ennyire pozitív a véleményed / tapasztalatod, el kell gondolkoznom a Drupal 7 felhasználásán legközelebb. Vagy inkább a 9-én, ha már ennyire nyomják
-
Sk8erPeter
nagyúr
Ja, megértem, hogy nem akartál időt elcseszni arra, hogy debuggolj.
Mondjuk későbbi tanulságként én akkor is végig szoktam szívni ezt az időszakot, miután már a fél világot elküldtem a halál farkára, és a fél hajállományomat kitéptem.Ja, a 7-esben elég sok minden nagyon kézenfekvően meg van csinálva, szerintem kellemes az átállás a 6-osról, tetszik a full AJAX-os új admin-felület is, szerintem egész jól eltalálták. Könnyen kezelhető, átlátható, modern felület, pont jó.
Igen, én is azért részesítettem előnyben úgy fél éve egy projektnél a 6-os Drupalt, mert rengeteg modul még nem volt kész 7-eshez, vagy írták a modul oldalán, hogy nem is tervezik a 7-esre fejlesztést.
Mondjuk ezen tanultam meg Drupalt fejleszteni, elég volt hozzá egy viszonylag összetett feladat, tele szívással.
Ha most kezdenék el egy projektet, egyértelműen a 7-est választanám (ahogy azt az egyszerű céges honlapot is ebben készítettem, és nem bántam meg). Az biztos, hogy a 7-es bőven tartogat számomra újdonságokat, mert nagyon sok mindent változtattak a 6-oshoz képest, sok minden ésszerűbb lett a modulfejlesztés terén.
Az ImageCache és a CCK is a core-ba került, ami mondjuk szintén igen jó.A Drupal 8 újításairól még őszintén szólva én sem olvastam semmit, hogy mi is az oka, hogy major verzióváltásra volt szükség, milyen komolyabb dolgot változtatnak a core felépítésén, ami nem fért volna bele egy minor verzióváltásba, tehát egy laza update-be.
-
Siriusb
veterán
válasz
Sk8erPeter #104 üzenetére
Véget ért, a ló rúgja meg. Utálom feladni, de bizonyos energia+idő beleölése után tovább nem vagyok hajlandó értelmetlenül pocsékolni az erőforrásokat, ha van kerülő megoldás.
Az első többnyelvű drupal 6 oldallal azért kínlódtam. Amit most csináltam, ott már elég gördülékenyen ment a többnyelvű tartalmak kezelése.
Mintha azt olvastam volna régebben, hogy a 7-ben sokkal jobb az internacionalizáció kezelés.
Amikor legutoljára néztem - ami nem tegnap volt
- a Drupal 7-et, még sok modul nem volt portolva, vagy alfa / béta státuszban voltak. Ha már CMS, akkor nem szeretném az időmet bug keresésssel tölteni és hekkelni a rendszert. Persze a másik oldalon meg ott van, hogy akkor lesz kiforrott a verzió, ha minél több hibát jelentenek és javítanak.
Ahogy látom, már a Drupal 8-cal foglalkoznak. Nem tudom, a 7 beérett-e már annyira, mint a 6, de hogy már a következő verzión fáradoznak ahelyett, hogy a 7 lenne teljes értékű. Hmm. Mondjuk a custom modulok karbantartása biztos nem a core fejlesztők feladata. -
Sk8erPeter
nagyúr
Nincs mit!
Akkor ezek szerint a hibakeresés véget ért.
Nagyon sok oka lehetett, de az a baj, hogy fel kellett fedeznem, hogy Drupalban a hibakezelés a 6-osban legalábbis igencsak erősen hagy kívánnivalót maga után (a 7-essel egyelőre nem szoptam annyit, csak egy viszonylag egyszerű többnyelvű céges honlapot készítettem el), pl. ilyen esetben is elnyomja a hibákat, pedig mondjuk normálisan kivételkezeléssel pl. szerintem lehetne egyértelműsíteni, mi is a gond ilyen fatális jellegű hibáknál is, mint a WSOD. A hibák köre elég tág, épp ezért kellene rájuk felkészülni, amint felmerül a lehetőség, betenni a megfelelő hibaellenőrzést. Így a hibák csekkolása jó hosszú lehet, de legalább ilyenkor nem nézel, mint borjú az új kapura, hogy most akkor mi a sz@rt rontottál el (ismerem az érzést). -
Siriusb
veterán
válasz
Sk8erPeter #102 üzenetére
Semmilyen oldalt nem érek el, sehogy nem tudtam előcsalni semmit.
Végigpróbáltam mindent, amit javasoltál, cache táblákat is ürítettem az adatbázisban.Töröltem mindent, leszedtem a szerverről az egész cuccot, betöltöttem az adatbázist is... és működik!
Vagy nagyon szégyenlős lett egyik napról a másikra a lokális változat, vagy valami orbitális baklövést követtem el, amire rá sem tudok jönni. Töröm a fejem, melyik változat a valószínűbb...
Szerk:
szerintem kimondatlanul is tudod, de azért: kösz a segítséget! -
Sk8erPeter
nagyúr
Ismerős a jelenség, úgy nevezik: White Screen of Death (WSOD)
A linkelt oldalon sok megoldási lehetőséget is kínálnak.Az admin-oldalakat nem éred el? Ahogy írtam is korábban, ez elő szokott fordulni esetenként, hogy pl. az adatbázislogot megnézed, azon a címen, amit írtam fentebb (az is a 6-osra vonatkozott, feltételezem, mi egymás közt a 6-osról beszélünk, mert eddig ha jól tudom, arra fejlesztettél).
Azt is csinálhatnád első körben tesztelésként, hogy a cache-táblákat törlöd: [link].
Lehet admin-felületről, meg adatbázisból, manuálisan (most ehhez férsz csak hozzá ezek szerint).Mondjuk lehetne kóddal is ugyanezt, úgy, hogy ezt az index.php fájlod elejére teszed ÁTMENETILEG (aztán kitörlöd az első futtatás után): drupal_flush_all_caches().
De így:
require_once("./includes/bootstrap.inc");
$cookie_domain = $_SERVER['HTTP_HOST'];
drupal_bootstrap( DRUPAL_BOOTSTRAP_FULL );
drupal_flush_all_caches();
die();Ennek is lehetne adni egy próbát.
Szóval én első körben mindenképp a cache-táblákat buzerálnám ilyen esetben, az már annyiszor segített.
Aztán ha ez sem jött be, végiggondolnám még egyszer, mit cseszhettem el.
Persze adatbázis is megtörhetett valahol, de akkor érdekes, hogy így jelentkezik, nem mondjuk egy query sikertelenségében.
Meg nehéz elképzelni, hogy egy adatbázissérülés csak az egyik projektet érintette volna....Mondjuk persze nem nehéz akkor, ha mondjuk csak az adott adatbázis fájlja sérült (pl. MySQL-nél). -
Siriusb
veterán
válasz
Sk8erPeter #99 üzenetére
Ez a beállítás nem tudom, miért lenne jó.
Én sem, a netet túrva találtam, valaki ezt alkalmazta. Neki bejött, nekem nem. Végigpróbáltam mindent, amit javasoltak.Ha megemelem a max_execution_time -ot, most 180-on van, apache újraindítva, hibaüzenetet nem ad, teljesen üres az oldal. Ezt úgy értsd, hogy a forrásban sincs semmi, ha böngészőben megnézem.
Az általad javasolt függvény sem működik, egyik módon sem.
először is nem ártana, mi volt az az "1-2 apró módosítás".
A tartalomban ill. a css-ben módosítgattam. Semmi, ami a kódot érintené.Szerk:
Ami lényeges, a többi drupal alapú cucc megy a különféle virtualhost-okon, csak ez az egy nem, tehát nem valószínű, hogy apache konfig probléma... -
Sk8erPeter
nagyúr
"settings.php-ben hozzáadtam, hogy ini_set('max_execution_time', 0); , hatástalan"
Ez a beállítás nem tudom, miért lenne jó.
Egyébként érdemes inkább a set_time_limit() függvényt használni: [link].A 30 másodperc néhány esetben tényleg kevésnek is bizonyulhat, ezt érdemes magasabbra állítani, van, amikor cron-feladatok, update, cache-elési mechanizmusok, vagy épp több modul egyszerre történő telepítése (ehhez többek közt a táblák adatbázisba való feltöltése), stb. fut, ami hosszabban tarthat, nem érdemes kockáztatni, hogy esetleg egy script megszakad - és pl. ezáltal egy modulhoz feltöltendő tábláknak csak mondjuk a fele kerül az adatbázisba - a túl kevés futási idő miatt.
Hogy a lényegi részre is térjek:
először is nem ártana, mi volt az az "1-2 apró módosítás".
Másrészt: próbáld meg azt, hogy az index.php fájl ELEJÉRE berakod ezt (nyilván a <?php után):function set_error_reporting() {
error_reporting(E_ALL|E_STRICT);
ini_set('display_errors', TRUE);
ini_set('display_startup_errors', TRUE);
}
set_error_reporting();
// .......Ha ettől behal (mondjuk így is behal), akkor kommentezd ki a fv.-en belüli harmadik sort, vagyis ezt: ini_set('display_startup_errors', TRUE);
Számomra az meglepő volt, hogy hasonló problémánál a /admin/reports/dblog címen elérhető adatbázisnapló elérhető volt, innen tudtam törölni az Admin menü segítségével a cache-t, és így megoldódott a dolog.
Persze olyan is előfordul, hogy belekerül valami modulba egy gányolás, és így totálisan meghal az egész oldal.
Nálam egyszer attól is para volt, hogy Devel modullal rámentem, hogy telepítsen újra egy-két modult (tehát disable, uninstall, majd megint install, asszem az enable már manuális), de a folyamat felénél valamiért megszakadt, és ez nem tett túl jót az oldalnak. De aztán az Admin menüben lévő cache-törlő menü ezt is megoldotta. -
Siriusb
veterán
Hátha valakinek van még ötlete:
Localhoston (LAMP) tegnap még az egyik drupal 6 alapú site-on 1-2 apró módosítást végrehajtottam és feltöltöttem élesbe. Ma is kellett volna még pluszban berakni valamit, de localban nem megy, a hibaüzenet:
Fatal error: Maximum execution time of 30 seconds exceeded in /akarhol/includes/file.inc on line 963Próbáltam a php.ini-ben a max_execution_time - ot növelni (végül már 30-ról 1000-re), de csak annyit értem el, hogy egy tökéletesen üres oldalt kapok, nincs betöltve semmi az ég világon.
Növeltem még a memory_limitet, a drupal-ban a settings.php-ben hozzáadtam, hogy ini_set('max_execution_time', 0); , hatástalan.
Az éles verzió működik szerencsére, és az összes többi drupal is a local-on. Valaki mondjon valamit!
-
Siriusb
veterán
válasz
Sk8erPeter #95 üzenetére
Ez aztán a válasz!
Kösz!
Bevallom egyetlen egyszer írtam modult, a Views-hoz kellett sorba rendezés választható mező alapján, mert nem táblázatos formában jelenítettem meg a tartalmat. Meg is voltam lepődve, hogy működött.
-
Sk8erPeter
nagyúr
... és ím' Sk8erPeter ama kürt hívószanának hallatán jövé' vala, ama nemes szándéktól vezérelvén, hogy bajtársát mielőbb igyekezzék kisegíteni ama nehéz időkből.
Szóval valóban NAGYON rút az a megoldás.
Most olyan megoldásokat mondok, amik elsőre eszembe jutnak (lehet még több is):
1.) /contact elérési út helyett másik használata (pl. /contact-us), saját statikus tartalom belerakása egy adott node-ba - de gondolom Te szeretnéd inkább mégis ezt az elérési utat használni. Bár mégis ez lenne a lehető legegyszerűbb.
2.) Contact modul kikapcsolása, saját node létrehozása a statikus tartalommal, ennek beállítása a /contact elérési útra - nem olyan jó megoldás, mert ütközés van, ha később mégis be akarod kapcsolni a Contact modult.
3.) page-contact.tpl.php módosítása; a következő sor kikommentezése (Zen esetén):
<?php print $content; ?>
és ennek lecserélése a saját, statikus tartalomra, tehát így:
<div id="content-area">
<?php print $content; ?>
</div>HELYETT
<div id="content-area">
<?php
// print $content;
?>
asdlkjasdlkasjdlkasjdklasjd
</div>- szintén NEM túl szép megoldás.
4.) Modulban - mindenképp hozz létre egyet, úgyis hasznát fogod még venni!
Mutatok egy példát (úgy tudom, 6-ost használsz!):
A modult kiegészítem egy általam írt függvénnyel, aminek szerintem debuggolásnál még hasznát veheted: var_export_drupal_set_message() - ez tulajdonképpen a keveréke a var_export() és drupal_set_message() függvényeknek. Így könnyen kiírathatod a változók értékeit, ott mutatja, ahol a státuszüzeneteket. Mutatok is a használatára példát: kiíratom a $form_id változó értékét. Egy-két helyen kommentként benne hagytam egyéb példákat, amiket felhasználhatsz debuggolás céljára.
Elérési út (ide pakold a modult!!):
sites/all/modules/modSiriusbEzenbelül a két fő fájl, ami szükséges:
==================================================
modSiriusb.info
; $Id$
name = "Siriusb - Test module"
description = "Test Module by Siriusb"
package = "Siriusb"
core = "6.x"
php = 5.2==================================================
modSiriusb.module
<?php
// $Id$
/**
* @file
* Siriusb's test module.
*/
define('SIRIUSB_MODULE_MACHINE_NAME', 'modSiriusb');
/**
* Sets a Drupal message which outputs a parsable string representation of a variable
*
* @param mixed $var The variable of which we would like to output a parsable string representation
* @param string $text The message to output
* @param string $type The type of the message
* - 'status'
* - 'warning'
* - 'error'
*
* @see http://php.net/manual/en/function.var-export.php
* @see http://api.drupal.org/api/drupal/includes%21bootstrap.inc/function/drupal_set_message/6
*/
function var_export_drupal_set_message($var, $text, $type = 'status') {
// $type: e.g. 'status'
drupal_set_message($text . ': <pre>' . var_export($var, TRUE) . '</pre><hr />', $type);
}
/**
* Implementation of hook_form_alter()
*/
function modSiriusb_form_alter(&$form, &$form_state, $form_id) {
// var_export_drupal_set_message(__FUNCTION__, 'function');
// teszt célból kiírjuk a $form_id-t --> csak debug-célra, használat után ELTÜNTETNI!
var_export_drupal_set_message($form_id, '$form_id');
}
/**
* Implementation of hook_form_FORM_ID_alter()
*/
function modSiriusb_form_contact_mail_page_alter(&$form, &$form_state){
// var_export_drupal_set_message(__FUNCTION__, 'function');
// var_export_drupal_set_message($form, '$form...');
// var_export_drupal_set_message($form_state, '$form_state...');
$form['#after_build'][] = 'modSiriusb_form_contact_mail_page_alter_after_build';
}
function modSiriusb_form_contact_mail_page_alter_after_build(&$form, &$form_state) {
// eltüntetjük az eredeti formot
unset($form);
// új tartalmat teszünk bele a $form változóba
$form['contact_info'] = array(
'#value' => '<div>Ide jön a saját tartalmad!</div>',
);
return $form;
}Az érdekesség az, hogy csak az #after_build függvényben eltüntetve működik úgy, ahogy akarjuk most (eltüntetni, majd felülbírálni a contact formot).
A modSiriusb_form_contact_mail_page_alter() függvényben viszont plusz esetleges saját mezőket is lehet hozzáadni (meg persze a modSiriusb_form_contact_mail_page_alter_after_build() függvényben is).
Fontos tudni, hogy az #after_build függvényekben vissza kell térni a $form változóval.=====================================================
Ettől függetlenül talán még mindig az tűnik a legkevésbé erőforrásigényesnek, ha saját node-ot létrehozol, és ezt beállítod pl. a /contact-us címre. A Contact modult meg addig kikapcsolhatod, amíg nincs szükséged rá.
Remélem segítettem!
-
Siriusb
veterán
Elhatározám, page-contact.tpl.php helyin hook-ot használnók, 'iszen csupán csak statikus infót kívánnék megjeleníttetni az adott form - on (igazándiból html kódokkal egyetemben). Perszehogybelegabalyodék.
Drupal 6 + Zen subtheme + template.php
Első változat, mely nem akaródzik működni:
function MYTHEME_theme(&$existing, $type, $theme, $path) {
$hooks = zen_theme($existing, $type, $theme, $path);
$hooks['contact_mail_page'] = array(
'arguments' => array('form' => NULL),
);
return $hooks;
}
function MYTHEME_contact_mail_page($form) {
$form['contact_information']['#value'] = 'akármi';
//De akkor sem megy az ebeadta, ha az alábbi parancsot is hozzáadom:
//return drupal_render($form);
}Második változat, mellik működék, de rút:
function MYTHEME_markup($element) {
if ($element['#parents'][0] == 'contact_information'){
$element['#value'] = "Húha";
}
//return (isset($element['#value']) ? $element['#value'] : '') . (isset($element['#children']) ? $element['#children'] : '');
}Szeretnők, ha valakinek (
Sk8erPeter) kedve támadna megsegélleni.
-
Siriusb
veterán
válasz
Sk8erPeter #90 üzenetére
A kérdés kb. az volt, kinek mi vált be.
A Solr túl munkás, elolvasva a readme-jét, most a Fuzzy-t próbálgatom.
-
Sk8erPeter
nagyúr
Hát én csak részmegoldásokat találtam, pl. kötőjeleket szóelválasztásnak tekint, mint egyfajta szótöredék: [link]
Van egy ilyen, de ezt őszintén szólva nem értem, miért megoldás, és gáz, hogy belegányol a core modulba: [link]
Itt pedig pont a Fuzzy-ra meg a Trip Search-re hivatkoznak: [link]De basszus, most nézem a Fuzzy Search oldalát, ott épp ezt írják:
"This module provides drupal sites with a fuzzy search engine to allow for broader keyword matches including partial or misspelled keywords."
Akkor mi a kérdés? -
Siriusb
veterán
válasz
Sk8erPeter #88 üzenetére
Ezt, a Fuzzy Search -t és a Google Custom Search Engine - t néztem. Gondoltam hátha van valakinek tapasztalata.
-
Sk8erPeter
nagyúr
Jaja, én még nem találtam jobbat a Zennél.
Nagyon logikusan strukturált, jó, hogy vannak példák a template.php-ben az alkalmazható hookokra (még kezdőként nagyon nagy hasznát vettem, sokat segített), rendkívül jól dokumentált (minden fájl elején totál egyértelmű magyarázatokkal van tele, hogy mi mire való, melyik változó használható fel, és annak mi is lesz pontosan a tartalma, stb.), Internet Explorer hülyeségeire is gondoltak, könnyen megvalósítható vele a fixed és a fluid layout is, és persze teljesen valid kódot generál.Szótöredékes keresésre? Hmm, jó kérdés.
Itt nem találsz valami ezzel kapcsolatosat (Apache Solr Search Integration)? Az Apache Solr Search Integration a core search modul lecserélésére, a kereséses extra feature-ökkel való kiegészítésére hivatott. -
Siriusb
veterán
válasz
Sk8erPeter #82 üzenetére
Most van időm, elkezdtem a ZEN-nel (is) foglalkozni, tényleg hasznos kis darab. Egyelőre elkezdtem az egyik sminket átültetni ebbe. Amint az ember fejébe megragad, melyik css-be miért kel nyúlni, egész jól megy.
Más:
Szótöredékes keresésre mit használtok? Ugye a beépített search module csak egész szavakra keres. Drupal 6. -
Sk8erPeter
nagyúr
válasz
PowerBuldog #85 üzenetére
Az éles környezeten pontosan ugyanaz a Drupal van fent?
Vagy ez valami hosting, ahol előretelepített Drupalt használsz? Ott engedélyezik egyáltalán, nincs letiltva valamilyen módon más sminkek használata?
A saját sminkedben definiáltad a megfelelő régiókat (bár ha nincs definiálva, elvileg alapértelmezettnek vesz párat)?
A könyvtárszerkezet megfelelő? Hova teszed fel őket?
Árulj már el egy kicsit több infót, mert így csak találgatni lehet, főleg, hogy semmit nem tudunk a lokális és a tesztkörnyezetedről sem.A saját smink gyártása helyett meg egyébként szerintem stabilabb megoldás pl. egy Zen subtheme használata, azt nagyon jól testreszabhatod (erről beszéltünk fentebb).
-
PowerBuldog
veterán
válasz
Sk8erPeter #84 üzenetére
Csináltam, de nem jó. Amúgy saját gyártású smink.
Közben viszont rájöttem, hogy mind1 milyen sminket aktiválok és teszek default-á, akkor is csak a Bartik fület mutatja és annak a blockjait engedi csak konfigurálni.
-
Sk8erPeter
nagyúr
válasz
PowerBuldog #83 üzenetére
Bár lehet, hogy már megvolt, de töröltél theme registry-t (cache-t a performance oldalon)?
(Melyik theme?) -
PowerBuldog
veterán
sziasztok!
Volna egy kis problémám az egyik sminkel.
Szépen telepítve van, aktiválva és defaultként beállítva. Viszont a Structure>>Blocks felületen nem jelenik meg, csak a Bartik és a Seven smink, így az egyedi blockokat nem tudom a helyes sorrendbe rakni.
Localhoston futtatva hibátlan, rendesen működik ahogy kell, viszont éles környezetben fellőve már nem bírom rendesen konfigurálni.Mi lehet a hiba?
-
Sk8erPeter
nagyúr
-
Siriusb
veterán
válasz
Sk8erPeter #80 üzenetére
Azt hiszem jobban meg kell ismerkednem ezzel a Zennel. Néztem annak idején és tetszett is, de valamiért félreraktam.
Kösz az infót. Szerintem ez hasznos lesz számomra! -
Sk8erPeter
nagyúr
Szerintem saját sminket írni tök felesleges, túl sok meló, miközben nagyon faszán testreszabható sminkek vannak, amikből könnyű jól működő subtheme-et gyártani (lásd pl. Zen), és legalább valaki már elvégezte helyetted a piszkos melót.
A Zent egyébként azért szeretem, mert már van egy előre elkészített subtheme, aminek a neve "STARTERKIT", amit csak a saját mappájából ki kell ollózni, berakni külön theme-ként, és átírni a STARTERKIT részt a megfelelő fájlokban a saját névre, amit szeretnél adni a subtheme-nek (template.php, theme-settings.php, valamint a STARTERKIT.info.txt fájlt átnevezni a sajatnev.info-ra), és kész vagy.
Még példákat is mutat a template.php-ben a hookokra.
Arról nem is beszélve, hogy az Internet Explorerrel való kompatibilitásra is gondoltak a CSS-fájlokban is, meg választhatsz előre létrehozott CSS-fájlokból, hogy most fixed vagy fluid layoutot szeretnél.
Aztán ezt megfelelően testreszabod.
Na én ezt nem akarnám megcsinálni mind saját melóval, ha már valaki ezt megosztotta. -
Siriusb
veterán
válasz
Sk8erPeter #78 üzenetére
Hasonlóan, de kipróbálom így is.
Idáig inkább megírtam saját sminket, de ennél a projektnél nem akartam túl sok munkát belefektetni annak idején (2 éves cuccot húztam elő most...). -
Sk8erPeter
nagyúr
Hogy csináltad a Garland subtheme-et? Valahogy így?
Mondjuk én Zen subtheme-et használok, ott minden theme hook faszán működik (amúgy is ajánlott smink a Zen, ha valaki szereti a rugalmasan kezelhető, jól kommentezett theme-eket).
Arra kéne rájönni előbb, mi az oka, hogy nem működnek a subtheme hookjai. -
Siriusb
veterán
válasz
Sk8erPeter #76 üzenetére
A kapkodás...
Bocs. Nem a legjobb a multitasking vezélésem. Mondhatnám úgy is, gyenge a proci.
Szerintem sincs köze, és valóban, ott kell a jQuery UI, ahol Views is van.
-
Sk8erPeter
nagyúr
Nem tom, lehet.
"Annyi a kavarás a subtheme-ben, hogy Views-t használok."
Ezt nem értem. Hogy jön a subtheme-hez a Views module, mi köze a kettőnek egymáshoz?
Vagy most arra célzol, hogy azon az oldalon, ahol meg akarod jeleníteni a jQuery UI-t, ott éppen Views-zal kéred le a tartalmat?
A megfogalmazás így elég zavaros... -
Siriusb
veterán
válasz
Sk8erPeter #74 üzenetére
Annyi a kavarás a subtheme-ben, hogy Views-t használok.
Keresés:
Lehet nincs joga mysql temporary táblát csinálni? Megnézem. -
Sk8erPeter
nagyúr
Hát akkor a subtheme-ed valahogy nagyon rosszul strukturált, elképzelhető, hogy ezért nem megy. A subtheme-ben is kellene, hogy tudd használni rendesen a megfelelő theme hookokat.
Ez is közrejátszhat a sikertelenségben.
Ennek a megoldása igazából csak azért érdekes, mert ha ez nem megy, lehet, hogy más modulok helyes működése is kérdéses.
Az elérési út pedig jó... -
Siriusb
veterán
válasz
Sk8erPeter #66 üzenetére
Bocs, hogy ilyen sokára jelentkezem, hirtelen ezer és egy dolgom lett.
Ezt írja:
jquery_ui_get_path():
'sites/all/libraries/jquery.ui'Lehet az is baj - könnyíteni akartam a dolgomon
-, egy garland subtheme-ben dolgozom. Mivel nem írt ki először semmit a kódod hatására, áttettem a garland template.php-jébe, úgy már kiköpte a fenti infót. Viszont onnan sem húzza be az UI-t.
-
Siriusb
veterán
Search modult megy valakinek? Drupal 6.
Le is van indexelve, mégsem hoz ki egy találatot sem 3 vagy több betűs szóra. Semmi modul nincs feltelepítve, 2 oldal van, az egyik tartalma aaa cccccc a másiké bbb. -
Sk8erPeter
nagyúr
Szerintem máshol kellene keresni a lassúság okát. Sokszor szokott az adatbázisszerver sebességével is gond lenni. Ha van hozzáférésetek, vagy tudtok ilyen kérést intézni a rendszergazda felé (és teljesíti is), a query cache-t pl. MySQL esetén szerintem mindenképp érdemes bekapcsolni. Meg van még egy-két trükk, amivel lehet gyorsítani. Pl. a Boost modult tudom ajánlani még, ez a statikus tartalmak megjelenítését jelentősen gyorsítja megfelelő beállítások esetén, mert készít egy helyi példányt, emiatt meg nem kell minden alkalommal adatbázishoz nyúlkálni, lekérni a nem kis méretű tartalmakat, és utána PHP-vel összeállítani a teljes oldalt.
Aztán Siriusb ajánlott még egy tippet korábban a másik topicban, ezt nem próbáltam, így nem tudok róla érdemben nyilatkozni, de azt mondja, nála látványos változást hozott: innodb_flush_log_at_trx_commit = 0.
Meg persze mindenképp érdemes bekapcsolni a JS- és CSS-fájlok tömörítését is (itt a fájlok tartalmának változtatása esetén oda kell figyelni, hogy a cache-elt változatot frissítsétek manuálisan).
Még annyi, hogy az ember sokszor rak fel eszetlenül rengeteg modult (én is néha így teszek, ha próbálgatok, bár tanultam a korábbi hibáimból, én ezt már először csak tesztváltozaton próbálom), amit aztán ki sem használ - ezeket mindenképp érdemes kikapcsolni; minél több modul, annál lassabb lehet az egész. Na meg olyan is elképzelhető, hogy valamelyik modul még fejlesztői stádiumban van, így maradhattak benne feleslegesen lassító tényezők (persze ugyanez a véglegesnél sem kizárt, sőt). -
sz_abika
addikt
válasz
Sk8erPeter #69 üzenetére
Lassú az oldal, és gyanítom itt lehet a hiba oka.
Viszont tényleg nem tudok belenyúlni ilyen szinten, így csak továbbítottam a fülest végül -
sz_abika
addikt
válasz
Sk8erPeter #67 üzenetére
Köszi a segédletet, mindjárt bele is merülök.
Remélem lesz rá jogosultságom, mert nem az én felügyeletem alatt van az oldal -
Sk8erPeter
nagyúr
Ez mondjuk tudtommal csak egy figyelmeztetés, hogy bizonyos esetekben nem feltétlenül működik, nem biztos, hogy ez rád is igaz, amennyiben nem használsz ilyen jellegű modulokat.
Az eredeti duma: "Note that block caching is inactive when modules defining content access restrictions are enabled."
Erre rákeresve találtam pl. ezt, itt azt írják erre:"For example, if organic groups, content access, taxonomy access modules or other modules that restrict access to certain kinds of content are turned on, block caching will be turned off."
Aztán van még ilyen: Menu Access, Nodeaccess, és még itt megtalálod az összes "Content Access Control" kategóriába tartozó modult.
Szerk.:
A lényeg, hogy amennyiben korlátozod az elérést pl. bizonyos szerepkörökre az egyes blokkokra vonatkozóan, akkor nem a cache-elt tartalmat veszi elő, mert ez szereptől függően dinamikusan változhat.
Viszont ezt ajánlom figyelmedbe, ha blokkok cache-elésével kapcsolatos problémád van, hátha megoldja (nem próbáltam). -
Sk8erPeter
nagyúr
Pedig ez az elérési út jó.
Na, de hogy sikerüljön kideríteni a probléma okát, vigyük vissza egy kicsit, először is csekkoljuk, hogy belelép-e egyáltalán az itt említett függvénybe, tehát ezt írd be a template.php-be (szerkeszd a meglévő függvényt, ha már megvan):/**
* Override or insert variables into all templates.
*
* @param $variables
* An array of variables to pass to the theme template.
* @param $hook
* The name of the template being rendered (name of the .tpl.php file.)
*/
function YOURTHEMENAME_preprocess(&$variables, $hook) {
static $testOutputReady = FALSE;
if(empty($testOutputReady)){
drupal_set_message('jquery_ui_get_path(): <pre>' . var_export(jquery_ui_get_path(), TRUE) . '</pre><hr />');
$testOutputReady = TRUE;
}
// ..........
}A YOURTHEMENAME helyén nyilván legyen a saját theme-ed neve.
Most ezzel egyrészt meg tudod nézni, mit ad vissza a jQuery UI path-ra, valamint ellenőrizni tudod, hogy jól írtad-e meg, belelép-e egyáltalán a függvénybe.
Ha kiírja a path-t, akkor majd szólj vissza, mit adott eredményül.Szerk.: most kipróbáltam egy tök kezdetleges teszt-Drupalon (6-os), és ott is jól működik.
Ott is fent van a jQuery Update, a Libraries és a jQuery UI. -
sz_abika
addikt
Hali!
Blokkok gyorstárazása inaktív egy oldalon, ilyen ürüggyel:
A blokkok gyorstárazása nem működik, ha tartalom elérést szabályozó modulok vannak bekapcsolva.Miféle modulokat kéne keresnem pontosan, amik ezt korlátozzák?
-
Siriusb
veterán
válasz
Sk8erPeter #63 üzenetére
Így adom hozzá:
drupal_add_js('sites/all/libraries/jquery.ui/ui/ui.core.js');
drupal_add_js('sites/all/libraries/jquery.ui/ui/ui.tabs.js');
drupal_add_css('sites/all/libraries/jquery.ui/themes/base/ui.all.css');Ha délután / este lesz időm, megnézem a linkelt függvényed.
-
Sk8erPeter
nagyúr
Akkor mutasd meg plíz, hogyan adod hozzá drupal_add_js() segítségével - tehát mi az, ami működik.
Valószínű, hogy valami elérési úttal kapcsolatos probléma lesz.Így próbálja megtalálni a jQuery UI elérési útját: jquery_ui_get_path().
-
Siriusb
veterán
válasz
Sk8erPeter #61 üzenetére
A readme alapján csináltam, Libraries modul nincs fent.
jqui 1.7.3-at raktam fel.Az említett modullal is ki fogom próbálni, már csak az érdekesség kedvéért.
-
Sk8erPeter
nagyúr
Megcsináltad azokat a lépéseket, amik a readme-ben vannak?
Hányas verziójú jQuery UI-t töltötted le hozzá? Hova raktad? Libraries modul fent van? Ezt is érdemes felpakolni.
Valamit lehet, hogy az alábbi lépések közül kihagytál.-- JQUERY UI 1.7 --
The jQuery UI module uses jQuery UI 1.6 because jQuery UI 1.7 requires at least
jQuery 1.3, which is not shipped with Drupal 6. If you absolutely need to move
to jQuery UI 1.7, you can get around this by doing the following:* Download and install the corresponding jQuery Update module from:
http://drupal.org/project/jquery_update
* Download the latest jQuery UI 1.7 release from:
http://code.google.com/p/jquery-ui/downloads/list?q=1.7
* Put the downloaded archive into the directory:
/sites/all/libraries/jquery.ui-1.7.zip
* Extract the archive. This will create the following sub-directory:
/sites/all/libraries/jquery.ui-1.7/
* Rename the sub-directory into "jquery.ui":
/sites/all/libraries/jquery.ui/
so the actual jQuery UI JavaScript files are located in:
/sites/all/libraries/jquery.ui/ui/*.js
* Enable the module at Administer >> Site building >> Modules.
#59:
Nálam bekapcsolt Devel modullal is jól működik.
Szerk.: elvileg a jQuery Update modul nélkül is működnie kell, 1.6-os verzióval. -
Siriusb
veterán
válasz
Sk8erPeter #58 üzenetére
Szerintem kell az update modul, hogy normálisan működjön. Régebbről is valami ilyesmi rémlik, úgyhogy megteszem.
Töröltem a cache-t, nem ment.Mindjárt megnézem, a Devel modul be van-e kapcsolva, mert az szokott még nagyon bekavarni...
-
Siriusb
veterán
válasz
Sk8erPeter #56 üzenetére
Használnám én rendeltetésszerűen, de minek, a te módszereddel sem megy. Nincs nálad véletlenül fent a jquery update modul?
Na jó, belátom, tényleg így kellene használni.
Emlékszel? Lazy developer...
-
Sk8erPeter
nagyúr
"Csak simán beleraktam a template.php-be, semmi cifrázás."
Az említett jquery_ui_add('ui.tabs'); sort úgy, ahogy van, beledobáltad a template.php-be, és még csak függvénybe sem pakoltad?
Hát akkor ezt a megoldást jó gyorsan felejtsd el.Ne is csodálkozz, ha ilyen módon valami nem az elvárt szerint működik.
Használd a Drupalt rendeltetésszerűen, ahogy illik.
Szóval ha a template.php-ben szeretnéd ezt a függvényt meghívni, akkor kotord elő ezt a fájlt, és pakold bele ezt (smink nevét nyilván módosítsd a sajátodra):/**
* Override or insert variables into all templates.
*
* @param $variables
* An array of variables to pass to the theme template.
* @param $hook
* The name of the template being rendered (name of the .tpl.php file.)
*/
function YOURTHEMENAME_preprocess(&$variables, $hook) {
static $jQuery_UI_plugins_included = FALSE;
if (empty($jQuery_UI_plugins_included)) {
jquery_ui_add('ui.tabs');
$jQuery_UI_plugins_included = TRUE;
}
switch ($hook) {
case 'page':
// ....
break;
// ....
}
}Ezt most úgy csináltam meg, hogy minden hook esetén include-olja a jQuery UI plugint.
Ha csak egy adott hooknál kell, akkor értelemszerűen a switch-case-en belülre rakd.
Aztán törölj egy cache-t, és remélhetőleg működni fog (nálam megy). -
Siriusb
veterán
válasz
Sk8erPeter #54 üzenetére
Ez a változat jobban tetszik, mert rövidebb. Az előző azért volt jó, mert nem biztos, hogy page típusra van szükségem, mint jelen esetben is egyedileg létrehozott típussal dolgozom és ez esetben változóval is, akár több típusra megírható a kód.
Csak simán beleraktam a template.php-be, semmi cifrázás.
-
Sk8erPeter
nagyúr
Nincs mit!
A template.php-n belül melyik függvényben hívtad meg?
Egyébként még a korábbira visszatérve, vagyis a $head_title változó módosítására: az if($hook == 'page') ellenőrzés szükségessége helyett még egyszerűbb, és még jobban elkülöníthető megoldás, ha a következőt alkalmazod:
/**
* Implements hook_preprocess_page()
*
* @see http://api.drupal.org/api/drupal/developer%21hooks%21core.php/function/hook_preprocess_HOOK/6
*/
function pete_preprocess_page(&$variables) {
// Modifying $head_title variable's value
$variables['head_title'] = 'Lószar (asdasdasdasd)';
}Egyébként úgy van a sorrend, hogy előbb a moduleName_preprocess() fut le, utána a moduleName_preprocess_hook().
A sorrendről bővebben: [Setting up variables for use in a template (preprocess and process functions)].U.i.: minden programozó lusta.
-
Siriusb
veterán
válasz
Sk8erPeter #52 üzenetére
Jó tudni, hogy gondolnak rám is: a lazy developer necromancer.
Valóban, saját bevallásom szerint is lusta vagyok. Ezért farigcsáltam régebben kisebb programokat, minek dolgozzak én, ha nem muszáj?!A template.php-ben hívtam meg.
Szerk.:
És már bővült is az első hozzászólás. Köszönjük, yetike. Neked is, Sk8erPeter, hogy összeszedted az infókat. -
Sk8erPeter
nagyúr
Modulok:
Nem rossz, de a hivatalos honlapon meg telepítések száma alapján is lehet rendezni.jQ UI:
Igazad van, jó, hogy pont én linkeltem, nem néztem meg alaposan...Itt van az a rész, ami tömbbé kasztolja, ha pl. valaki úgy hívja meg, ahogy Te is:
// Convert file to an array if it's not one already, to compensate for
// lazy developers. ;)
if (!is_array($files)) {
$files = array($files);
}Szóval Te egy lazy developer vagy.
Amúgy hol hívod meg a függvényt, melyik hookban?
A source-ban egyáltalán nem jelenik meg a UI tabs pluginje? -
Siriusb
veterán
válasz
Sk8erPeter #50 üzenetére
Modulok:
pl. lehet rendezni letöltések / értékelések szerint. Meg különben is.jQ UI:
a readme szerint jó:
jquery_ui_add('ui.sortable'); // For a single fileAzért majd kipróbálom tömbösítve is.
-
Siriusb
veterán
válasz
Sk8erPeter #48 üzenetére
-
Sk8erPeter
nagyúr
Szívesen!
Igen, én is így gondolom, meg felesleges teljesítmény-romlással is járhat, ha egy apró módosításért egy alapvetően kihasználatlan, a célhoz képest túl nagy tudású modult felraksz.
A másik, amit ilyenkor szoktam csinálni, ha tudom, hogy egy modul képes arra, ami nekem kell, de csomó minden mást is csinál, amire nekem egyáltalán nem lesz szükségem: megnézem a kódját, és tulajdonképpen kiemelem a szükséges részt a kódból, vagy csak ötletet lopok belőle, hogy mivel is lehetne szépen megoldani a kérdéses problémát."Ugyanis a jquery_ui_add('ui.tabs'); utasítással nem csinál semmit, csak ha drupal_add_jssel hozzáadom a szükséges fájlt."
Szerintem az a baj, hogy nem tömböt adsz át a függvénynek, nézd meg a függvényt: jquery_ui_add().
Tehát a helyes szintaktika ez:jquery_ui_add( array('ui.tabs') );
===
Szerk.: amúgy most kértem, hogy pár hasznos linket tegyenek be az első hozzászólásba, remélem bekerül (remélhetőleg valaki hasznát veszi a linkeknek).
Ha nektek is lenne pár javaslatotok, hogy mi kerüljön az első hsz.-be, ne fogjátok vissza magatokat! -
Speeedfire
félisten
válasz
Sk8erPeter #44 üzenetére
Ja, hát majd egyszer biztos belekezdek. De egyelőre a yii és jquery van a porondon.
-
Siriusb
veterán
válasz
Sk8erPeter #45 üzenetére
Pontosan erre gondoltam! Kösz! Legalább le van írva, jó lesz referenciaként a jövőben.
Egyébként, még az előző hozzászólásoddal kapcsolatban, én is azért írogatok inkább bele ide-oda, mert utálok minden *kis* hülyeségért egy modult feltelepíteni.
Más:
A jQueryUI modul nektek működik alapból? Ugyanis a jquery_ui_add('ui.tabs'); utasítással nem csinál semmit, csak ha drupal_add_jssel hozzáadom a szükséges fájlt. -
Sk8erPeter
nagyúr
Jah, oké, már felfogtam.
Bár már találtál rá modult, leírom a megoldást úgy is, ha saját modulból szeretnéd módosítani. A korábbi, "pete" nevű modulnál és a rendkívül fantáziadús módosított címnél maradva (most ki tudtam próbálni, és működik):
/**
* Implements hook_preprocess()
*
* @see http://api.drupal.org/api/drupal/developer!hooks!core.php/function/hook_preprocess/6
*/
function pete_preprocess(&$variables, $hook) {
if($hook == 'page'){
// itt már össze van pakolva a $variables['head_title'], szóval akár a korábbi értékét is fel tudod használni, hogy csak hozzáfűzz valamit - én most az egészet módosítom erre a fantáziadús címre
$variables['head_title'] = 'Lószar (de különleges cím)';
}
}Az eredménye pedig: MÓDOSÍTOTT $head_title.
Remélem erre gondoltál.
-
Sk8erPeter
nagyúr
válasz
Speeedfire #41 üzenetére
"nekem ez a cck és a views soha sem akart összejönni, így egyedibb oldalak készítésére sem tudtam rávenni"
Akkor innentől kezdve itt van többek közt ez a topic is az ilyesmik megbeszélésére!Amúgy sok szívás után rájöttem, hogy nem úszom meg, hogy igazán belevessem magam a modulfejlesztésbe, azért minden nem oldható meg grafikus felületen, vagy lehet, hogy csak nyakatekert módon és sok modul felrakásával, amikor mondjuk saját modul esetén pár sor kód írásával is meg tudnád oldani, ha tudod, mit és hova kellene írni.
Kicsit a t×köm tele volt a kismillió tutorial olvasgatásával, amíg nem találtam végre átfogó szakirodalmat erről:
6-oshoz: [Pro Drupal Development, 2nd Edition]
7-eshez: [Pro Drupal 7 Development, 3rd Edition]Utóbbit kevésbé olvasgattam, mert inkább 6-oshoz fejlesztettem eddig komolyabban.
-
Siriusb
veterán
válasz
Sk8erPeter #42 üzenetére
Én az egész szöveget akarom módosítani, ami a node title-ből és a site name - ből áll össze, ez van a $head_title-ben. Te csak a title részre koncentráltál.
Viszont a linkedről elindulva megtaláltam az előzőekben említett modult, ami teljesen korrekt kis szerkezet. Kösz!Azt már le sem írom, a template.php-ből miért nem volt jó a hook. Ennyire nem fogom égetni magam...
-
Sk8erPeter
nagyúr
Akkor ezek szerint most nem volt világos, mit is szerettél volna, a drupal_set_title() ezt csinálja - a köv. képen látható Drupal egy teszt gyanánt használt 6-os Drupal, létrehoztam egy Story content type-ot, Test Story címmel:
EREDETICsak teszt gyanánt most létrehoztam egy "pete" nevű modult, itt módosítom a címet:
/**
* Implements hook_nodeapi()
*/
function pete_nodeapi(&$node, $op, $a3 = NULL, $a4 = NULL){
switch($op){
case 'view' :
// var_export_drupal_set_message($node, '$node');
drupal_set_title('Lószar');
break;
}
}Ez pedig a következőt eredményezi: MÓDOSÍTOTT CÍM.
Nem ezt szeretted volna ezek szerint?
-
Speeedfire
félisten
válasz
Sk8erPeter #38 üzenetére
Ez már régóta érlelődött bennem. Igazából jobban bele akartam ásni magam a php-ba és akkor gondoltam már megcsinálom yii-vel. A másik pedig, hogy nekem ez a cck és a views soha sem akart összejönni, így egyedibb oldalak készítésére sem tudtam rávenni, pedig nagyon tettszik és könnyen be is lehet állítani.
De lehet, hogy ha kész lesz a yii-s, akkor a drupal-ba is megpróbálom jobban beleásni magamat. -
Siriusb
veterán
Sajnos ez csak a title-t manipulálja és nem a head_title-t, de nem rossz ötlet.
Ellenben találtam egy page title modult.
-
Siriusb
veterán
válasz
Sk8erPeter #38 üzenetére
Kösz, kipróbálom.
-
Sk8erPeter
nagyúr
Nem hook, hanem core-ban lévő függvény segítségével:
drupal_set_title()=====================================
(#36) Speeedfire : amúgy mi a döntés oka, hogy cseréled a Drupalt Yii-alapokra?
-
Siriusb
veterán
Miként lehet hook segítségével megváltoztatni a $head_title változót? A pge.tpl.php módszer megy, de szeretném így megcsinálni.
Próbáltam a template_preprocess_page -dzsel, de nem jött össze. -
Speeedfire
félisten
válasz
Sk8erPeter #35 üzenetére
A visszafogó az, hogy elvileg a sor végén húzza be őket ha nagy a terhelés. Vagy valami ilyesmi.
A fent vanra az amin menu-re gondoltam.
Amúgy valószínűleg tényleg valami cache lesz, és a poormanscron-nak is köze lehet hozzá. Vagy a fene tudja, örök rejtély marad.
-
Sk8erPeter
nagyúr
válasz
Speeedfire #34 üzenetére
Uhh, hát ez tényleg nem kevés. Amúgy mi a t×köm az a "Visszafogó" (checkbox)?
Egyébként az i18n meg még egy csomó minden feleslegesen van akkor engedélyezve, ha úgysem használsz többnyelvűséget."A boost modult, hol olvastad hogy fent van nekem?"
Abból gondoltam, hogy korábban nem túl egyértelműen ezt írtad:
"Fent van, csak nem jó helyen kerestem."
Most ebből elég nehéz lett volna kitalálni, ezt mire mondtad, én azt feltételeztem, a Boost modulra.Na mindegy, most akkor nem jöttünk rá, majd szólj, ha legközelebb is előfordul.
De valószínű, hogy valami hasonló cache-elés miatt van. -
Speeedfire
félisten
válasz
Sk8erPeter #32 üzenetére
Akkor tisztázzunk pár dolgot.
Én nem sz*roztam le egyszer sem a drupalt. Csak írtam, hogy mostanában szívat engem, holott már 1.5 éve megy ez a motor és nem volt vele semmi gond.
A boost modult, hol olvastad hogy fent van nekem? Még mindig csak azt tudom írni, hogy nincs fent. Mivel nincs is fent (legalábbis én nem látom).
Ettől még lehetett más beállítási gond vagy lehet, hogy én baltáztam el valamit egy modullal/beállítással. Ezt nem is tagadom, de egyelőre nincs rá semmi okom, mert a megszokott modulokat használom, nem is keveset. -
Sk8erPeter
nagyúr
válasz
Sk8erPeter #32 üzenetére
"így az anonim felhasználók még mindig az adatbázisszintű cache-ben tárolt tartalmat látják"
Na, erre olyan hosszú lett a hsz., hogy még rosszul is írtam...
Pont, hogy NEM adatbázisszintű cache-ből szedi a Boost a tartalmat anonim felhasználók esetén, hanem fájlrendszerszintű cache-ből:"The cached files are stored (by default) in the cache/normal/ directory
under your Drupal installation directory.[...]
Once Boost has been installed and enabled, page requests by anonymous
visitors will be cached as static HTML pages in the server's file system.
Periodically (when the Drupal cron runs) stale or expired pages
(i.e. files or pages exceeding the maximum cache lifetime setting)
will be purged, allowing them to be recreated the first time that the
next anonymous visitor requests that page again. If the Cron Crawler
is enabled, the files and pages will be regenerated automatically.New rewrite rules are added to the .htaccess file supplied with Drupal,
directing the web server to try and fulfill page requests by anonymous
visitors first and foremost from the static page cache, and to only pass the
request through to Drupal if the requested page is not cacheable or hasn't yet
been cached." -
Sk8erPeter
nagyúr
válasz
Speeedfire #31 üzenetére
Ez oké, de azért a Drupal hibáztatása és leszarozása előtt talán körül kéne nézni, hátha én vagyok a hibás...
Ahogy igaz ez bármilyen más CMS esetén is (mondjuk Joomlára kevésbé merném ezt mondani, mert az az én szememben egy komolytalan valami), VAGY bármilyen framework vagy más esetén is... A Yii-vel elkészített oldalnál is előfordulhat, hogy hiba esetén valamit Te nézel be, és nem a Yii egy szar...
Főleg, hogy azóta kiderült, hogy mégis fent van nálad a Boost modul...A problémára visszatérve: a Boost úgy működik, hogy a cron lefutása esetén "frissíti" a statikus tartalmakat, így az anonim felhasználók még mindig az adatbázisszintű cache-ben tárolt tartalmat látják - pont ezzel érik el, hogy a Boost gyorsítson az oldalak betöltési idejében. A helpnél látható is a Boost lényege, érdemes elolvasni:
"This module provides static page caching for Drupal 6.x websites. It provides a significant performance increase as well as scalability for sites that receive mostly anonymous traffic. Web pages load very fast from the cache instead of waiting on PHP and Drupal to serve them from the database. If the page is not found in the cache, then the request is passed to Drupal. The built-in crawler makes sure expired content is quickly regenerated to insure fast page loading at all times."Tehát a gond, ami nálad előfordult, abból következik, hogy valószínűleg még nem futott le a cron.php, tehát a cache-elt tartalmat nem frissítette a Boost.
Erre is elolvasható a megoldás a help oldalain (/help/boost/rules):"Case: The website has mostly anonymous visitors and a few content changes every so often. Waiting on cron to run may not be the best solution if you want changes to be available for anonymous visitors immediately. On a website such as this you are taking advantage of the Boost timestamp function to rebuild only pages that have changed at each cron run. This rules setup works outside of that Boost function as it will immediately refresh the cache with the one page that has has changed.
Solution: Download the rules module, unzip it and upload it to sites/all/modules. Goto: (Administer > Site building > Modules > List) to enable Rules, save the changes. Goto: (Administer > Rules > Triggered rules > Add a new rule). Give the new rule a label or name, choose an Event that will trigger the rule from the select list (Content is going to be saved), check mark the box [X] This rule is active and should be evaluated when the associated event occurs. and save the changes. In the next section, choose (Add an action). Use the select list and choose (Clear a page from the boost cache), Next, then Save."
-
Speeedfire
félisten
válasz
Sk8erPeter #30 üzenetére
Fent van, csak nem jó helyen kerestem.
A hibáról meg többet nem tudok mondani, fent állt x ideig, majd jó lett. De ebből én sem tudok rájönni, hogy miért lehetett.
Én magam semmi extra kesst nem állítottam be, nincs többnyelvűség az oldalon.
De mindegy, lassan úgy is kész lesz az új oldal yii alapokon...szóval annyira nem is érdekel. Azt a max 1 hónapot meg a drupal tejesíti még. -
Sk8erPeter
nagyúr
válasz
Speeedfire #29 üzenetére
Hát azért nem látsz ilyen menüt, mert az az Administration menu modullal érhető el, hogy külön törölheted a különböző szintű cache-eket, így talán gyorsabb.
"Mindenesetre ez azért elég gáz pl egy nagyobb forgalmú oldalnál.."
Előbb keresd meg nálad a hiba okát, mert nálad van a hiba, most hirtelen nem tudom, mi az. De szerkesztés után az anonim júzernél is módosulnia kellene a tartalomnak, főleg, hogy azt mondod, a Boost modul sincs fent.
Nincs nálad pl. többnyelvűség? Ott pl. elképzelhető olyan, hogy módosítod a tartalmat, de egyelőre fordításra átnézésre submitolod csak, így csak felülvizsgálat után látszik, vagy mittudomén.
Mindenesetre írj már kicsit többet, hogy rájöjjünk a hibára, mert nulla infó birtokában nehéz. -
Speeedfire
félisten
válasz
Sk8erPeter #28 üzenetére
Nem, ez nincs fent.
Én ilyen menüt nem is látok az admin menüben.Mindenesetre ez azért elég gáz pl egy nagyobb forgalmú oldalnál..
-
Sk8erPeter
nagyúr
válasz
Speeedfire #27 üzenetére
Boost modult nem raktad fel? Az elég durván kessel, és NEM csak a JS- és CSS-fájlokat.
Egyébként előtte a cache-törlés után lett jó?
Szerk.: ja, és akkor rosszul tudod, mert a Drupal nem csak a CSS- és JS-fájlokat cache-eli, hanem a lehető legtöbb dolgot, amit lehet; külön modulbeállításoktól is függ akár, pl. blokkok esetében be lehet állítani, milyen szintű cache-elés legyen, lásd hook_block()-nál a cache részt.
Amúgy ha felrakod az Administration menu modult, ott látható, hogy a "Flush all caches"-nél miket sorol fel: Administration menu, Cache tables, Menu, Page requisites, Theme registry.Szóval Drupal erősen épít a cache-re a gyorsaság érdekében.
-
Siriusb
veterán
válasz
Speeedfire #25 üzenetére
Drupal. Ha jól emlékszem Site config / Performance - nél találod.
-
Siriusb
veterán
válasz
Speeedfire #23 üzenetére
Cache.
-
Siriusb
veterán
válasz
Speeedfire #21 üzenetére
Első körben nézd meg a jogosultságokat szerintem.
Ugyanabból a böngészőből nézted? Mert ha nem, esetleg még egy cache törlés is mehetne a drupalban. -
Speeedfire
félisten
Na ma végképp kiverte a biztosítékot nálam a drupal. Érzi a vesztét nagyon.
Kb 1.5 éve tökéletesen megy, de mostanában mindig van vele valami.
Mai eset. A napokban írtam egy új cikket, érkezett egy hsz. Miszerint javítani kellene benne. Ezt meg is tettem. Ha belépek admin-ként akkor látom a javítást és a hsz-t is, de ha kilépek anonimként akkor a régi verziót látom. Na már most én nem is állítottam be verziós dolgot, így nem is értem, hogy miért csinálta ezt. Régebben is javítottam már cikket, de nem tapasztaltam még ilyet. -
Siriusb
veterán
válasz
Speeedfire #18 üzenetére
A 6.x-1.6 az ajánlott verzió...
Nekem is az van fent.Ha nincs különösebb oka, szerintem nem érdemes other / dev verziókkal kísérletezni. Legalábbis én nem akarok magamnak plusz munkát generálni.
-
Siriusb
veterán
válasz
Speeedfire #16 üzenetére
Az Automated alias settings-nél engedélyezted a Transliterate prior to creating alias -t? És látja a fájlt?
Vagy azt akarod mondani, hogy a Site building / URL aliases-ben nem látod vagy nem tudod módosítani az útvonalakat?
-
Speeedfire
félisten
Na, ha már van ilyen itt is, akkor kérdezek...
Régebben tökéletes volt az útvonal nevek angolosítása, mostanában valami miatt már nem megy. Sőt, most már manuálisan sem akarja elfogadni a saját útvonal nevemet.
Mi lehet a gond? Drupal 6 van fen.
A modul/pathauto mappában pedig ott van a i18n-ascii.txt fájl. -
Siriusb
veterán
válasz
Sk8erPeter #13 üzenetére
Nos, imagecache valóban megoldotta a problémát. Most már biztos emlékezni fogok a modulra, bár a letöltéseim közt is megtaláltam egy régebbi verzióját, szóval valamikor biztos használhattam. Megspóroltál nekem némi kódolást
Éljen sokáig ez a fórum! De ha nem, az se baj, jönnek a halottidézők!
Hmm, kellene egy betétdal számunkra, a Szellemirtók mintájára.
Vagy legalább egyéni rang a PH!-án. Hihi.
-
Sk8erPeter
nagyúr
Igen.
Az egyébként is szinte kötelező modul 6-oshoz (7-esnél pedig már core része! - ez is bizonyítja, hogy nem kicsit hasznos), amennyiben már képkezelgetés is szóba kerül. Admin-felületen összekattintgatva készíthetsz olyan mintákat, amik segítségével automatikusan átméreteződnek a képeid, vagy elforgatja, kivágja őket, amikor legenerálod, stb. Nagyon hasznos modul.Még saját hook is tartozik hozzá, így adott modul saját ImageCache presetet definiálhat (már próbáltam, nagyon gyorsan meg lehet írni ilyet, pár sor, nézhetsz rá példát pl. az Ubercartban, ha komolyabban érdekel).
Pl. meg tudod csinálni vele, hogy egy kicsinyített, adott méretre korlátozott kép jelenjen meg, ami linkel a nagyobb képre, ami rákattintásra Lightbox-vásznon jelenik meg.
Ha azt szeretnéd, hogy a Lightbox2-vásznon az eredeti, teljes méretű kép jelenjen meg, készíts olyan ImageCache-presetet, ami igazából nem csinál semmit, tehát marad a 100%-os képarány. Meg legyen egy, ami a kicsinyített változatot jeleníti meg.
Ugyanilyen az említett "Lightbox2: product_list->product_full", itt a product_list egy preset, ami a kicsinyített változatot jeleníti meg, ez linkel a teljes méretű képre. -
Siriusb
veterán
válasz
Sk8erPeter #11 üzenetére
Tehát az a lényeg, hogy használjam az ImageCache-t? Mindenképpen nekiugrok. Kösz ezt a részletes leírást!
-
Sk8erPeter
nagyúr
válasz
Sk8erPeter #10 üzenetére
Ehh, basszus, az a baj, hogy a sima "Lightbox2 iframe"-et alkalmaztad... Én az előbb azt próbáltam, hogy pl. "Lightbox2 iframe: product_list->node_page" - ekkor a product_list ImageCache szerinti kép linkel a node oldalára, így a Lightbox-vásznon a node oldala jelenik meg.
DE a sima "Lightbox2 iframe" esetén NEM úgy működik, ahogy szeretnéd: ekkor nálam is a fájl neve jelenik meg, és az linkel simán a képre. -
Sk8erPeter
nagyúr
Pedig most a kedvedért felraktam a Lightbox2 modult, és nálam működik, átalakítja képpé.
Vegyünk egy példát, végre kicsit konkretizálva:
1.) Először Generic files formátumban: KÉP
2.) Aztán átalakítva: Lightbox2: product_list->product_full formátumra (nálam van két ilyen ImageCache-preset, Ubercart-modulból): KÉP
3.) Ezután Update, és az eredmény: KÉPMást ezenkívül nem is állítottam, tehát nem pipálgattam azokat, amiket említettél.
Szerk.: ja, és a Lightbox2-vásznon jelenik meg az eredmény (mondjuk a Views admin-felületén pont nem, hanem csak ahol a végleges eredményt megmutatom).
Tehát a product_list szerinti ImageCache-preset szerint, kicsinyítve jelenik meg a kép, aztán rákattintva a Lightbox-vásznon már a product_full preset szerint, nagyobb méretben jelenik meg.
Most kipróbáltam, az iframe-mel is a kép jelenik meg... -
Siriusb
veterán
válasz
Sk8erPeter #8 üzenetére
Nos, ezeken én már végigmentem. Részemről a lightbox2 modult raktam fel.
Ha kiválasztom Format-nál, hogy lightbox2 iframe, akkor (is) csak egy fájl ikont rak ki, valamint a kép nevét hivatkozásként, melyre kattintva lightboxban megjelenítődik a kép.A Do not rewrite if empty és a Group multiple values ki van választva. Amit furcsállok, hogy ha ez utóbbi nincs kijelölve, akkor csak egy képet ad vissza, holott elvileg:
If unchecked, each item in the field will create a new row.
Próbáltam relationship-et is, ami csak eszembe jutott, de csak a manuális abajgatással tudom megoldani, mert a files/imagefield-thumbs/ - ból csak egy tudok előszedni a kis képeket és rálinkelni az eredetieket.Viszont ha azt mondod Colorbox + Imagechache így működik, holnap kipróbálom.
-
Sk8erPeter
nagyúr
Na, akkor én leszek a második halottidéző.
A válasz pedig röviden az, hogy mindez szerencsére admin-felületen is elintézhető: a megfelelő view-nál a "Fields" résznél kattints az ImageField meződ nevére, ekkor megjelennek az ehhez tartozó beállítások - itt görgess le egészen a legaljáig, a "Format" részhez, itt valószínűleg nálad jelenleg a "Generic files" van beállítva. Ezt változtasd meg úgy, hogy a Lightbox-hoz tartozó formátum jelenjen meg - remélem van is ilyen! Colorbox-nál rengeteg formátumot be lehet állítani, (nekem ezzel van tapasztalatom), így a kép kattintásra egyből a Colorbox-vásznon jelenik meg, plusz szépen együttműködik az ImageCache modullal (ami szerintem kötelező darab). A Colorbox-ot egyébként is nagyon tudom ajánlani, szépen testreszabható. De remélem, Lightbox-szal is meg tudod oldani.
-
Siriusb
veterán
No, akkor bevállalom a nekromanta szerepét.
Előzmények:
Szerény személyem érdeklődött:
Drupal 6 + Views kérdés:
Imagefield kimenetét szeretném módosítani. Egy views-view-field.tpl.php fájllal biztosan meg tudom csinálni, de meg lehet ezt oldani template.php-ben mythemes_preprocess_views_view()-val? Vagy valamivel? Széttúrtam a netet, de nem találok infót, miként lehetne.
[link]Válasz a tisztelt kollegától, Sk8erPeter-től (persze kérdezget az ebadta, ahelyett, hogy gondolatot olvasna és válaszolna):
"Imagefield kimenetét szeretném módosítani"
Ezt írd le, hogyan szeretnéd módosítani, mert valószínűleg attól függ a válasz. Hogyan nézzen ki módosítás után, melyik részét szeretnéd változtatni?Tehát, ezt rakja ki Drupal úr a kész oldalra:
<div class="views-field-field-image-fid">
<label class="views-label-field-image-fid">
Images:
</label>
<div class="field-content">
<div class="field-item field-item-0">akarmi1.jpg</div>
<div class="field-item field-item-1">akarmi2.jpg</div>
<div class="field-item field-item-2">akarmi3.jpg</div>
</div>
</div>Amit szeretnék, hogy a miniatűrök legyenek egy-egy img tag-ben, és az eredeti kép (lightbox segítségével, de ez most nem releváns) e picuri képekre kattintva mintegy varázsütésre megjelenjen. Egyszóval vagy a
<div class="field-item field-item-0">akarmi1.jpg</div>
sorokat vagy pusztán a fájl nevét szeretném manipulálni. -
VaZso
senior tag
Sziasztok!
Drupal 6.2 van fent egy szerveren és szeretnék egy kis módosítást végrehajtani rajta.
Konkrétan az lenne a lényeg, hogy az egyes felhasználóktól (a profiljukban) bekért adatot meg szeretném jeleníteni az általuk írt hozzászólások fejlécében.
Mit ajánlotok, hogyan tudnám ezt megoldani?
-
skera
tag
Sajnos CMS támogatásban a magyar ingyen tárhelyesek el vannak maradva ... Én az extrát javaslom, ahol mindössze a Clean URL-t kell kikapcsolni, és már megy is minden úgy ahogy kell. De szerintem ennyit megér feláldozni.
-
csellosi
tag
Hi.
Poroljuk le ezt a totyikot!
En is most kezdtem el vele fogalkozni, de a telepitesnel elakadtam.
6.2-es van + magyarositas es az Atw-re akarom felrakni. ini_set-es es hasonlo borzalmakon tul vagyok, de szinte rogton ra van egy ujabb gond:
Egy előfeltétellel probléma adódott
Az alábbi hibát meg kell oldani, mielőtt a telepítési folyamat folytatható:
A register_globals beállítás be van kapcsolva, de a Drupal ennek kikapcsolását igényli. A webhely nem futattható biztonságosan ha a register_globals be van kapcsolva. A PHP kézikönyv leírja, hogy miként kell megváltoztatni a beállításokat. (Jelenleg használatban: PHP register globals Bekapcsolva ('1'))A hibaüzenetek ellenőrzése után érdemes újra próbálkozni.
Na ezt, hogy tudonam mgoldani?
Kossz elore is a segitseget. -
vakondka
őstag
Sziasztok !
Nemrég kezdtem ismerkedni a Drupal-al és rögtön az elején egy furcsa hibával szembesültem.
Localhost-on tökéletesen működik, viszont (fizetős) szerveren minden angol, annak ellenére, hogy felkínálja a magyar nyelvet és én arra kattintok telepítéskor.
Már vagy 10x letöröltem és újra felraktam, de az eredmény ugyanaz.
pontosan ugyanazok a fájlok vannak a szerverre felmásolva, ami a sajátgépemen,
vagyis a drupal.hu-ról ltölthető 5.2-es drupal alap és hozzá a magyar nyelvi csomag (ami 5.1-es).
Van valakinek ötlete ?
A szerveren 4.4.4 PHP fut.----------------------------------------------------------------------------------------------
Ajánlott szakirodalmak a teljesség igénye nélkül (a lista még bővülhet):
- Magyar Drupal kézikönyv
- Drupal angol nyelvű közösségi dokumentációja
- Nagy Gusztáv: Drupal 6 alapismeretek (közérthető stílusban megfogalmazott, magyar nyelvű, elektronikus és nyomtatott formában egyaránt elérhető magyar Drupal-szakirodalom)
- Nagy Gusztáv: Drupal 7 alapismeretek (a korábbi, igen jól sikerült könyv Drupal 7-eshez aktualizált változata)
- Jesse Feiler: Tanuljuk meg a Drupal használatát 24 óra alatt (nyomtatott formában, magyar nyelven is megjelent, szintén közérthető stílusban fogalmazott könyv a Drupal alapjairól, ajánlott modulokról; haladók is bőven találhatnak benne hasznos információt)
- Angela Byron, Addison Berry, Nathan Haug, Jeff Eaton, James Walker, Jeff Robbins: Using Drupal (angol nyelvű szakirodalom, kezdőknek és haladóknak egyaránt)
- Earl Miles, Lynette Miles: Drupal's Building Blocks: Quickly Building Web Sites with CCK, Views, and Panels (angol nyelvű szakirodalom a CCK, a Views és a Panels modulok magasabb szintű használatáról)
- modulfejlesztés Drupal 6-hoz: John K. VanDyk: Pro Drupal Development, 2nd Edition (angol nyelvű szakirodalom, mely nagyon egyszerű példákon keresztül vezeti be az olvasót a modulfejlesztésbe, rendkívül jó magyarázatokkal kiegészítve azokat - így a modulfejlesztés már nem is tűnik annyira misztikus dolognak. A példakódok letölthetőek a linkelt hivatalos honlapról (lásd a "Source Code/Downloads" fület)!)
- modulfejlesztés Drupal 7-hez: Todd Tomlinson , John VanDyk: Pro Drupal 7 Development, 3rd Edition (az előző könyvhöz tartozó leírás ide is vonatkozik, a Drupal 7-es változatához igazítva)Hasznos fórumok segítségkéréshez a teljesség igénye nélkül:
- Prohardver Drupal topic
- drupal.hu/forum
- drupal.org/forum
- Drupal Answers (drupal.stackexchange.com)(by Sk8erPeter)
----------------------------------------------------------------------------------------------
[ Módosította: 7 ]
Új hozzászólás Aktív témák
Hirdetés
- Legion 5 15ACH6H 15.6" FHD IPS Ryzen 5 5600H RTX 3060 16GB 512GB NVMe gar
- BONTATLAN! HP E24m G4 (40Z32AA) / 23,8 hüvelykes Full HD (1920x1080) IPS panellel rendelkező monitor
- Lenovo ThinkPad X1 Carbon 7 . generáció i7-8650U / 16GB RAM / 500GB SSD
- ÁFÁS SZÁMLÁVAL! Lenovo ThinkPad X1 Carbon Gen 9 i7-1165G7 / 16GB / 500GB SSD / Intel Iris Xe
- Lenovo ThinkPad X1 Carbon 7. generáció i5-8365U / 8GB RAM / 256GB SSD
- Bomba ár! Lenovo ThinkPad T470 - i7-G7 I 16GB I 256SSD I 14" FHD I HDMI I Cam I W11 I Garancia!
- Samsung Galaxy A56 5G 256GB, Kártyafüggetlen, 1 Év Garanciával
- BESZÁMÍTÁS! Gigabyte B760M i5 14600KF 32GB DDR4 1TB SSD RX 6700XT 12GB Zalman Z1 Plus Seasonic 650W
- Telefon felváráslás!! Xiaomi 13T, Xiaomi 13T Pro, Xiaomi 14T, Xiaomi 14T Pro
- AKCIÓ! Gigabyte H510M i3 10105F 16GB DDR4 512GB SSD RX 5700 8GB Rampage SHIVA Zalman 600W
Állásajánlatok
Cég: PCMENTOR SZERVIZ KFT.
Város: Budapest