Keresés

Blokk kinézetének testreszabása

Raron képe

Kedves Mindenki!

Greenery2 sminket használok és szeretnék rajta egy kicsit változtatni, nem jöttem rá hogy hogyan tudok megadni a egyedi blokk fejlécet (megjelenést).
Megírtam a blokk konfigurációs részét a style.css ben. (.art-BlockHeader az alap blokk beállítás - .art-BlockHeader2 amit én szabtam testre) csak nem tudom hol kell megadni hogy a kívánt blokk ezt a beállítást hívja meg.

mellékelek egy képet hogy lássátok mit is szeretnék igazából.

Taxonomy upgrade extras: 
Melyik modulhoz, modulokhoz kapcsolódik a téma?: 
Drupal verzió: 
Fórum: 
CsatolmányMéret
Kép ikon blokk.jpg57.9 KB

Tizennegyedik Debreceni Drupal Használói Találkozó

nevergone képe

2011. augusztus 24-én megrendezésre kerül a tizennegyedik Debreceni Drupal Használói Találkozó, mely rendezvény elsődleges célja hogy összehozza a Drupal iránt érdeklődőket, használókat; lehetővé téve számukra egymás megismerését, segítését. A találkozó kötetlen beszélgetés keretében zajlik, elsősorban Drupalt érintő témákról. Természetesen azokat is szeretettel várjuk, akik csupán érdeklődnek a Drupal és a hazai közösség iránt.

Helyszín:
Mokka Drink Bar
4031 Debrecen Halköz 3/a. (Simonffy utcából nyílik)

Időpont:
2011. augusztus 24., kedd 17.30 - 21.00 (vagy amíg jólesik)

Külön jelentkezésre ezúttal sincs szükség, de örömmel vesszük ha a hozzászólások között ezt jelzik a részvevők.

Időpont: 
2011. augusztus 24., szerda 17.30 - 21.00

Tuningoljuk a fejlesztőkörnyezetet!

nevergone képe

Korábban írtam egy blogbejegyzést arról, hogyan lehet gyorsan és egyszerűen fejlesztőkörnyezetet összeállítani Ubuntu Linux rendszeren a Drupalos fejlesztésekhez. Több érdekes visszajelzés érkezett, például megtudtam, hogy a jogosultság-probléma megoldása lehetséges CGI mód nélkül is, a PHP-t hagyományosan Apache modulként használva. Időközben mindig finomítottam kicsit a beállításokon, majd Tyr43l-től kaptam hasznos tanácsokat a további teljesítményhangolás tekintetében.
Nyilván egy fejlesztői környezetnél nem azok az elvek érvényesülnek, amelyek egy nagyobb terhelésű szervernél, már sokszor az alapbeállítások is megfelelőek. Viszont érdemes rászánni egy kis időt a finomhangolásra, amelyet majd később a munka során megspórolunk.

Az általam használt számítógép Intel core i5-ös processzorral és 8 GB RAM-mal rendelkezik, ezért más gépeken szükség lehet a megadott értékek átállítására, az operációs rendszer pedig továbbra is Ubuntu 11.04.

1. MySQL teljesítménynövelés

Hozzunk létre egy új fájlt a beállítások számára:

$ sudo gedit /etc/mysql/conf.d/mysql_tuning.cnf

A fájl tartalma legyen a következő:

[mysqld]
max_connections = 10
max_user_connections = 150
key_buffer = 1024M
myisam_sort_buffer_size = 128M
join_buffer_size = 4M
read_buffer_size = 8M
sort_buffer_size = 16M
table_cache = 2048
table_definition_cache = 1024
thread_cache_size = 286
interactive_timeout = 25
wait_timeout = 1800
connect_timeout = 10
max_allowed_packet = 64M
max_connect_errors = 1000
query_cache_limit = 1M
query_cache_size = 16M
query_cache_type = 1
tmp_table_size = 64M
log_slow_queries = /var/log/mysql/mysql-slow.log

[innodb]
innodb_buffer_pool_size = 1024M
innodb_additional_mem_pool_size = 20M
innodb_log_file_size = 10M
innodb_log_buffer_size = 64M
innodb_flush_log_at_trx_commit = 2
innodb_lock_wait_timeout = 180

A félkövéren megjelölt adatokat szükséges módosítani, ha kevesebb memóriát adnánk a MySQL-nek, jelen esetben 1 gigabyte RAM-ot fog lefoglalni magának.

A fájl mentése után a következő paranccsal indítsuk újra az adatbázis-szervert:

$ sudo service mysql restart

Amennyiben további beállításokkal szeretnénk növelni a MySQL szerver teljesítményét, a Tuning Primer Script személyében praktikus segítőtársra lelhetünk.

2. PHP trükkök

Ha az előző leírásban felvázolt CGI módban futtatjuk a PHP-t, akkor nyissuk meg a konfigurációs fájlját (Apache modulként használva az /etc/php5/apache2/php.ini fájlt keressük):

$ sudo gedit /etc/php5/cgi/php.ini

A realpath_cache_size és a realpath_cache_ttl értékét fogjuk megemelni, alapértelmezetten „16k” és „120” van beállítva nekik:

realpath_cache_size = 128k
realpath_cache_ttl = 160

CGI módban használt PHP-nél gyorsíthat a PHP-FPM, amely daemonként folyamatosan futva a kérések kiszolgálása során jelent teljesítménynövekedést:

$ sudo sudo apt-get install php5-fpm

Szerkesszük beállításokat tartalmazó állományt:

$ sudo gedit /etc/php5/fpm/pool.d/www.conf

Keressük meg benne a jogosultságra vonatkozó user és group sorokat, majd adjuk meg az előző leírásban használt felhasználó- és csoportnevet.

user = felhasznalo
group = felhasznalo

Végül indítsuk újra a szolgáltatást:

$ sudo service php5-fpm restart

3. APC telepítése

Az APC egy PHP kiterjesztésként elérhető gyorsítótár, amely nagyobb terhelésnél ugrásszerű gyorsulást képes előidézni. A következő paranccsal tudjuk feltelepíteni:

$ sudo apt-get install php-apc

Fejlesztésnél okozhat mellékhatásokat, például egy fájl változtatásának eredménye nem jelenik meg a böngészőben. Az alábbi módon tudjuk kivédeni ezeket:

Nyissuk meg a beállításait tartalmazó állományt:

$ sudo gedit /etc/php5/conf.d/apc.ini

Adjuk hozzá a következő sorokat:

apc.stat = 1
apc.stat_ctime = 1
apc.rfc1867 = 1
apc.shm_size = 64

Majd indítsuk újra a webszervert:

$ sudo service apache2 restart

4. Apache apróság

Ha Apache webszervert használunk, akkor az AllowOverride és .htaccess használata minden lekérésre további fájlműveleteket jelent, ezért az általánosan használt beállításokat érdemes lehet a webszerver konfigurációs állományába (pl. /etc/apache2/sites-available/virtualhost_wildcard) átemelni.

5. SQLite adatbázis a memóriában

A Drupal 7 képes SQLite adatbázist használni a működéséhez. Ez egy, a MySQL-nél jóval kisebb erőforrás-igényű adatbáziskezelő, egyik jellemzője, hogy a teljes adatbázis egyetlen állományban tárolódik.
Ha ezt a fájlt a memóriában, vagyis ramdiszken tároljuk el, akkor többszörös sebességnövekedést érhetünk el. Azt ne felejtsük semmiképpen, hogy a számítógép leállítása vagy újraindítása során a ramdiszk tartalma elveszik, így csak átmeneti, kísérletezéshez használt adatokat tartsunk ott. Használhatjuk egy-egy művelet gyorsítására is, hiszen léteznek eszközök az egyes adatbázis-formátumok közti hatékony konverzióra.

Első lépésben szükségünk van a PHP SQLite támogatására:

$ sudo apt-get install php5-sqlite
$ sudo service apache2 restart

A legegyszerűbb módszer, ha felhasználjuk a rendszerünkön már meglévő ramdiszket, amely telepítéskor állítódik be. Ezt a /dev/shm/ könyvtárban találjuk, vagyis ha a Drupal telepítésekor az adatbázis-kapcsolat beállításánál az SQLite opciót választjuk, majd fájlnévnek megadjuk a /dev/shm/enoldalam.sqlite elérési utat, akkor a Drupal memóriába települ. Érdemes összehasonlítani a telepítés sebességét a klasszikus MySQL módhoz képest.

Persze készíthetünk külön ramdiszket is a következő módon, például az /mnt/ramdiszk/ könyvtárba. Ehhez a következő lépésekre van szükség:

$ sudo mkdir /mnt/ramdiszk
$ sudo mount none /mnt/ramdiszk -t tmpfs -o noatime,nosuid,nodev

Így már telepíthetjük is a rendszert, például a /mnt/ramdiszk/teszt.sqlite fájlt megadva.

Ha azt szeretnénk, ha ez a ramdiszk a fenti parancs kiadása nélkül, minden bekapcsoláskor automatikusan létrejöjjön, akkor nyissuk meg szerkesztésre az /etc/fstab fájlt:

$ sudo gedit /etc/fstab

Majd az állomány végére írjuk a következő sort:

tmpfs  /mnt/ramdiszk  tmpfs  defaults,noatime,nosuid,nodev  0  0

Sőt, az egész számítógép teljesítményét növelhetjük, ha ugyanebbe a fájlba felvesszük a /tmp könyvtárat is:

tmpfs  /tmp  tmpfs  defaults,noatime,nosuid,nodev  0  0

Ne feledjük, hogy így bár minden alkalommal létrejön a meghajtó, viszont továbbra is elveszik minden bekapcsoláskor és újraindításkor a tartalma, ezért csak megfelelő körültekintéssel helyezzünk rá adatokat. Érdemes megjegyezni még, hogy az ott tárolt adatok a memóriában foglalják el a helyet, vagyis kevés rendelkezésre álló memória esetén ne próbáljunk meg nagyobb fájlokat ott tárolni.

6. MySQL adatbázis a memóriában

Ha ideiglenesen szeretnénk felgyorsítani a MySQL adatbázis-műveleteket és vállaljuk az ezzel járó esetleges adatvesztést, az adatbázist átpakolhatjuk az előzőekben létrehozott ramdiszken. A példában a „teszt” nevű adatbázissal fogok dolgozni. Ezt az adatbázist hozzuk létre a phpMyAdmin, vagy más általunk ismert eszköz segítségével, majd végezzük el az alábbi műveleteket:

$ sudo service mysql stop
$ sudo mv /var/lib/mysql/teszt /mnt/ramdiszk/
$ sudo mkdir /var/lib/mysql/teszt
$ sudo mount none /var/lib/mysql/teszt -t tmpfs -o noatime,nosuid,nodev
$ sudo sh -c "mv /mnt/ramdiszk/teszt/* /var/lib/mysql/teszt/"
$ sudo service mysql start
$ sudo rmdir /mnt/ramdiszk/teszt

A parancsoknál mindenhol kiírtam az adatbázis nevét. Gyakorlatban annyi történt, hogy az adatbázis-szerver leállítása után az adatbázishoz tartozó fájlokat áthelyeztem egy átmeneti helyre, létrehoztam egy új ramdiszket a megfelelő helyen, majd a fájlok visszapakolása után elindítottam az adatbázis-szervert.

Ha szeretnénk a ramdiszkről az eredeti helyére visszaállítani az adatbázist, a következő módon tehetjük meg:

$ sudo service mysql stop
$ mkdir /mnt/ramdiszk/teszt
$ sudo sh -c "mv /var/lib/mysql/teszt/* /mnt/ramdiszk/teszt"
$ sudo umount /var/lib/mysql/teszt
$ sudo chown mysql:mysql /var/lib/mysql/teszt
$ sudo chmod 700 /var/lib/mysql/teszt
$ sudo mv /mnt/ramdiszk/teszt/* /var/lib/mysql/teszt
$ sudo service mysql start
$ sudo rmdir /mnt/ramdiszk/teszt

Ügyesen megírt szkriptekkel a fenti műveletek automatizálhatóak mind SQLite, mind MySQL esetén. Akár az is megoldható, hogy a gép leállításakor automatikusan elmentse a ramdiszken tárolt adatbázisokat, majd indításkor visszahelyezze azokat.
További lehetőség lehet még az adatbázisok SSD meghajtón való tárolása, amelyet a fenti módszerekhez hasonlóan lehet megoldani.

Képfeltöltés külön tárhelyre!

viktor1230 képe

Azt szeretném kérdezni hogy hogyan lehet megoldani azt hogy legyen képfeltöltés az oldalon de ne a saját tárhelyre töltse fel hanem külön valami ingyenes tárhelyre! Ezt azért szeretném mert az oldal tárhelye kicsi a képfeltöltésekhez és nagyon szeretnénk ilyen képfeltöltés modult... Lehetséges ez?

Drupal verzió: 
Fórum: 

facebook like gomb minden egyes bejegyzéshez

mpety képe

Üdv Mindenkinek!

Már minden létező oldalon jártam és modult kipróbáltam, de csak nem működik a dolog!

Azt szeretném, hogy az oldalon minden egyes blogbejegyzés alatt legyen egy facebook like és share gomb - igazából elég csak a like is - és ha erre rányomnak az emberek, akkor az adott oldal, tehát az adott blogbejegyzés linkje, címe kerüljön ki a facebookra!
Esetemben akármivel próbálkoztam mindig a főoldal linkje, és címe kerül ki...

Próbáltam több modult is:http://drupal.org/project/social-share , http://drupal.org/project/fb_social , http://drupal.org/project/fblikebutton , míg utóbbi két modul teljesen rossz volt tehát ugyanúgy a főoldal adatai jelentek meg, addig a social share modullal legalább a description megváltozott az adott bejegyzés leírásává.
Arra gondoltam talán az lehet a baj, hogy a facebook becachelte a rossz adatokat tehát elmentem erre az oldalra, mivel azt olvastam, hogy ez nem csak megmutatja, hogy milyen adatokat ér el a facebook, hanem törli is az oldalhoz tartozó cache-t. Mindenesetre semmi nem változott ezután sem!

Az oldalon saját zen alapú sminket használok, aminek a html.tpl.php fájljába be vannak írva a következő sorok:
A fájl kezdete:

!DOCTYPE html PUBLIC "-//W3C//DTD XHTML+RDFa 1.0//EN"
  "http://www.w3.org/MarkUp/DTD/xhtml-rdfa-1.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xmlns:fb="http://www.facebook.com/2010/fbml" xmlns:og="http://opengraphprotocol.org/schema/" xml:lang="<?php print $language->language; ?>" version="XHTML+RDFa 1.0" dir="<?php print $language->dir; ?>"<?php print $rdf_namespaces; ?> >

Valamint a head részbe a következő metaadatok:

<meta property="og:title" content="<?php print $node->title; ?>"/>
  <meta property="og:url" content="<?php print $node_url; ?>"/>
  <meta property="og:image" content="http://kreanod.hu/sites/default/files/like.jpg"/>

Kezdetben a title és url metaadatok nélkül próbálkoztam, úgy sem volt jó a dolog...

Keresgéltem és találtam még egy használható leírást itt, de hiába próbáltam ezzel is ugyanarra az eredményre jutottam, beletettem a "PHP alapú weboldalba..." beillesztendő kódot egy blokkba magamnak, szépen likeolja is csak éppen ugyanúgy a főoldal adatai jelennek meg nem pedig az adott blogbejegyzésé.
Ezen kívül elolvastam a facebook ide vágó leírását is, próbáltam ezt is beilleszteni kézzel-lábbal, de teljes kudarc, nem lettem okosabb...

Ha valaki tud segíteni, hogy hogyan is lehetne megcsinálni azt, hogy az adott node, jelen esetben blogbejegyzés, adatai jelenjenek meg a like gomb lenyomásakor a facebookon azt nagyon megköszönném!

Üdv
Peti

Drupal verzió: 

Webhely ikon és logó feltöltési hiba

lapos képe

Sziasztok!

Nem tudok éles szerverre feltölteni sminkek beállításan keresztül
webhely ikont és logót feltölteni.
Ezt írja ki a Drupal:

warning: move_uploaded_file() [function.move-uploaded-file]: Unable to access c:/wamp/tmp/favicon.jpg in /storage/wwwroot/users/domain/aldomain/www/includes/file.inc on line 628.
Fájlfeltöltési hiba. A feltöltött fájl nem mozgatható.
Hiba miatt a beállítások mentése sikertelen volt.

Mi a hiba?
Kösz!

Fórum: 

Címlap minden egyes oldalon

metaxx képe

Sziasztok!

Ismételten egy kis segítséget kérnék mert nem értem mi történik. Minden egyes menüpontom tetején szerepel egy címlap link és nem tudom leirtani, így meg elég butácskán néz ki, tekintve, hogy felette van a Címlap rendes gombja. Valaki elmagyarázná nekem mi és miért történik?

Magyarázat

http://i52.tinypic.com/jqtjxs.png
http://i52.tinypic.com/3345dh0.png

Drupal verzió: 
Fórum: 

Node nid exception (kizárás) Viewsban

odee képe

Sziasztok!

A következőre szeretnék megoldást találni, de mindig hibába ütközöm.
Az alap koncepció, hogy létrehozok egy page típusú views-ot, ennek egy 1-es és egy 2-es csatolmányt.

Termékeket szeretnék kilistázni.
(termekek -> tipus -> azonosito nev/ID)

Az URL így néz ki: .../termek/mobil/75

A views-ban a page-n csak a mobil típushoz tartozó 75-ös azonosítójú objektumot (terméket) íratom ki. Ez sikerül, a taxonómia nevét az URL-ből nyerem ki.

Az 1-es csatolmányon viszont szeretném megjeleníteni az összes mobil terméket, kivéve a 75-öst.
A 2-es csatolmányon pedig szeretném megjeleníteni az összes terméket, kivéve a "mobilokat".

Itt nem tudom beállítani, hogy az 1-es csatolmánynál, hogy tudnám kizárni az éppen aktuális Node ID-t :S

Drupal verzió: 

"curlypages" nem működik a Firefox böngészőben

vlezli képe

Sziasztok!

Sajnos nem találtam itt hasonló témát, így újat kezdek.

Már vagy két hónapja használom a "curlypages" modult, ami a honlapom jobb felső sarkában egy leváló sarok formájában hívja fel a figyelmet az aktuális akcióra.

Eddig semmi gond nem volt vele, ment rendesen. De pár napja azt vettem észre, hogy eltűnt ez a leváló sarok a Firefox böngészőben nézve a honlapomat (http://pluszjovedelem.info). Érdekes módon, a többi böngészőmben (Internet Explorer, Chrome) most is jól működik, csak a Firefox nem akarja megjeleníteni.

Visszagondolva, akkor tűnhetett el, amikor a Firefox 5. verziót a 6-osra frissítettem. Először valami túl erős biztonsági beállításra gyanakodtam, ami az új verzióval érkezett, de semmi lényegeset nem találtam a beállításai között.

Kísérletképpen leszedtem a 6. verziót és visszaraktam az 5-öset, de most már abban sem működik! Sőt, még az azelőtti, 3.6-ost is megkíséreltem újra feltelepíteni, de abban se látszik ez a lelógó sarok.

Megpróbáltam a Flashplayer-t is frissíteni a legújabb verzióra, de az se segített!

Vajon mi történhetett, mi lehet a hiba? Remélem csak az én gépemen nem látszik ez a mágikus sarok és nem az összes látogatónál hiányzik, aki Firefox-ot használ!

A "curlypages" eddigi bevált beállításaiban semmit nem állítottam el, az nem lehet gond.

Tud valaki segíteni...?

Köszönettel,
Vlezli

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