Hirdetés
- Hamarosan megjön az ASUS házak új zászlóshajója
- AMD K6-III, és minden ami RETRO - Oldschool tuning
- Milyen TV-t vegyek?
- Milyen billentyűzetet vegyek?
- NVIDIA GeForce RTX 5070 / 5070 Ti (GB205 / 203)
- Milyen videókártyát?
- Hobby elektronika
- OLED TV topic
- Kormányok / autós szimulátorok topikja
- Augusztusi hardverszuflé
Hirdetés
Talpon vagyunk, köszönjük a sok biztatást! Ha segíteni szeretnél, boldogan ajánljuk Előfizetéseinket!
-
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).
Új hozzászólás Aktív témák
- Parfüm topik
- Könyvajánló
- Jelszókezelők
- Mindenki Z Fold7-et akar
- Hamarosan megjön az ASUS házak új zászlóshajója
- Motoros topic
- AMD K6-III, és minden ami RETRO - Oldschool tuning
- Milyen TV-t vegyek?
- One otthoni szolgáltatások (TV, internet, telefon)
- Milyen billentyűzetet vegyek?
- További aktív témák...
- Microsoft Surface Laptop 5 13.5" i5-1245U 16GB 256GB 1év garancia
- Dell Optiplex MT/SFF 3040, 3050, 3060, 3070, 5070, 7060/ Hp ProDesk /SZÁMLA- GARANCIA
- MacBook Pro 16" M3 Pro 36GB 512GB Gar. SPACE BLACK
- Apple iPhone 15 /Gyárifüggetlen / 128GB / 12Hó Garancia / 90% akku
- Újszerű Asus ROG Strix G16 G614 -16" WUXGA 165Hz - i5-13450HX - 16GB - 512GB -RTX 4050 -1,5 év gari
Állásajánlatok
Cég: FOTC
Város: Budapest