Hirdetés
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 #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
- 0 perces RYZEN laptop, eredeti Win10! FullHD IPS / 12GB DDR4 / 1TB M.2 SSD! LEGOLCSÓBB SZÁMLÁS ÁR!
- ASUS ROG STRIX 850W Gold Aura Edition RGB Moduláris Tápegység PCIE 5 ATX 3 2x 12VHPWR
- Corsair RM850i 850W Gold Moduláris Tápegység
- Corsair RM750X 750W Gold Moduláris Tápegység
- GIGABYTE AORUS P750W Gold Moduláris Tápegység
- ÁRCSÖKKENTÉS ASUS HD6870 videókártya
- Intel Core i5 3470 confidential Ivy bridge Quad Core
- Bomba ár! Dell Latitude 7320 - i5-11GEN I 8GB I 512SSD I HDMI I 13,3" FHD I Cam I W11 I Garancia!
- BESZÁMÍTÁS! ASUS TUF A620M R5 7600X 32GB DDR5 1TB SSD RX 6700 XT 12GB ZALMAN I3 NEO A-Data 750W
- GYÖNYÖRŰ iPhone 13 mini 256GB Pink -1 ÉV GARANCIA - Kártyafüggetlen, MS3061, 96% Akkumulátor
Állásajánlatok
Cég: FOTC
Város: Budapest