Igen kb így, de ha a TIPP 1-eknek ugyanaz kell legyen a hátterem, mindeniknek adhatod a left-almenu-level-1.
mondjuk én nem menu és almenüként neveztem el hanem a szineket jelöltem a level-1 és level-2 vel, de ahogy írtad így is mûködõképes, csak akkor felesleges a level szócska az egészbe, ha menu és almenü szintezéssel dolgozol.
Gondolom hogy egy UL > LI listából dolgozik, én ajánlanám mindeniknek adni egy egy class attributumot pl.: class="left-menu-level-1" class="left-menu-level-2" class="left-menu-level-3", és a style részre
lenne még egy kérdésem.
Van egy vertikális menüm ami oldalra nyitja az almenüket.
hogy tudom megcsinálni, hogy minden fõ és almenüben más kép jelenjen meg.
gondolom, minden menüt külön kell valahogy megnevezni.
A style részre írd be hogy html { overflow-y: scroll; } így mindig lesz scrollbar, csak le lesz tiltva, ha nincs annyi tartalom, így nem ugrál az oldal.
sziasztok.
azt szeretném megoldani, hogy egy weboldalon minden oldal elég hosszú, így jobb oldalt meg van a scroll, de van egy, ahol elég kevés szöveg van,
így elugrik jobbra. van megoldás arra, hogy ez ne legyen?
most beállítottam átmenetileg 1000px height-re, hogy ott legyen ennél is a scroll, de elég béna :)
köszi elõre is.
Köszi úgy néz ki ez volt a hiba! hogy nem szúrta ki a szemem! :D
Dekoráció menüpont a kérdéses dolog. a grafika menüpont, mint látjátok simán bejön, pedig ugyanúgy csináltam mindent a dekorációnál is.
menu.html-t szerkesztettem
üdv
RewriteBase-t jobb nem használni ha nem muszáj, nagyobb környezetfüggetlenséget biztosít az elhagyása.
Amúgy én egy tetszõleges GET paramba nyomatom a valós path utáni szegmenseket, majd azt explode-olom. Ez azért jobb szerintem, mert ha épp nincs mod_rewrite egy szerveren, akkor egy config érték átállít és máris mûködik a dolog bármiféle egyéb kódváltoztatás nélkül (természetesen ilyenkor a linkek is ennek megfelelõen generálódnak le :)).
Aztán explode-olom az URL-t, majd a router elküldi a megfelelõ helyre / betölti a szükséges osztályt.
Így lesz a leghosszabb URL-em ilyen: www.domain.hu/project/module/function/param
Ha több paramétert akarok átadni, akkor ajax. $_GET-et nem használom:)
Na igen, nekem olyan a routerem, fordítva is tud mûködni :)
Megadod neki a controllert és az esetleges paramétereket aztán az épp aktuális szabályok alapján legenerálja hozzá az URL-t.
Csak félek kicsit majd nagyobb szabálybázissal hogy fog teljesíteni, mert tele van csúnya 3-4 szinten ágyazott foreach-ekkel :D
Ha már van kész weblapod, akkor sokkal egyszerûbb az elsõ módszerrel átírni, hiszen elég a mod_rewriteot megcsinálni és megy is (meg persze a linkeket átírni :D).
"akármit is írsz be URL-bek átirányítod az index.php-ra és ott "/" alapján explodeolod az URL-t"
Én pont erre használom a mod_rewrite-ot :)Jobb így szerintem, mert egy url routerrel mellette teljesen szabad kezem van.
Vagy csinálhatod azt is, hogy akármit is írsz be URL-bek átirányítod az index.php-ra és ott "/" alapján explodeolod az URL-t, de a mod_rewrite sokkal elegánsabb + nem kell átírni az oldalt.
Üdv. Nekem jelenleg úgy van az oldal, hogy az index.php -ban mindig behívja az adott oldalt és így van az url pl.: www.valami.hu/index.php?op=main&lang=hu&valami=valami a main helyére mindig az adott oldal. Elég sok oldalon láttam, hogy az URL így van: www.valami.hu/main/hu/valami. Itt is az elsõ az adott oldal, nálam az OP értéke, a hu meg a nyelv ami nálam a LANG értéke. És ezt hogyan lehet megcsinálni PHP-ben hogy úgy legyen az URL mint a másik példámban?
Egy függõleges menüt szeretnék az oldalamra, ami oldalra adja ki az almenüket. Csak JS-est találtam.
Szerintetek foglalkozzak azzal, hogy van, aki nem engedélyezi ezt a böngészõjében?
Ill. szeretnék egy kis oldalra mutató nyilat, ahol lesz almenü.
Ezt csak bg-dal tudom megoldani, vagy van erre karakter kód is?
Melyiket érdemes?
köszönöm!
Köszönöm! Kezd magas lenni. Sajnos azt a kód részletet már töröltem, de furdalta az oldalamat, mert maga lapok betöltése load-dal jó megoldásnak tûnt.
Egybe azért sem raknám mert mindegyik oldal tartalmaz lehívásokat és az a betöltéseket szerintem nagyon lassúvá tenné. Plusz a lekérdezéslet csökkenteném és amit lehet front-end végeznék el.
Ehhez fontos hozzátenni, hogy az init_hovers()-ben ez esetben csak az ajax-al betöltött tartalomra szabad (natúr) bind-eket írni, mert ha állandó elementekre is tartalmaz, akkor azok halmozódnak majd (kezdõ jQuery-s idõszakom rémálma :D).
A delegálás (statikus szülõre on + subselector bármire) ennyivel jobb, nem kell az ilyesmitõl tartani.
jQuery alatt $(function() { /*ide ehh */}); simán JS alatt meg valami window.load.
Szerintem arra gondolt amúgy, hogy jQuery-vel, ha szépen felrakod a bindokat (hover, click, etc) és betöltsz egy új HTML-t loaddal, akkor azokon nem lesz rajta, csak a régi HTML-en, emiatt újra kell. (picit pongyola a megfogalmazás, de szerintem érthetõ :D)
$(document).on(
{
mouseenter: function()
{
//stuff to do on mouseover
},
mouseleave: function()
{
//stuff to do on mouseleave
}
}
, '.selector'); //pass the element as an argument to .on
Pont a kód túlzsúfolását szeretném elkerülni és egy modulárisabb felépítést szeretnék.
Igazából felhúzott hogy egy szimpla hover nem mûködött mikor ha nem load-dal volt behívva akkor ment.
Csinálj több content div-et, elrejted õket display:none-al, javascript menü gombokkal pedig megjeleníted azt amit kell. Ha túl sok erõforrást igényelne az összes oldalt egyszerre kigenerálni akkor inkább ajax load. Milyen funkciók nem mûködnek?
Sziasztok! Hogy tudnák egy egy lapos webappot csinálni egyszerûen?
Próbálgattam Jquery loaddal váltogatni a lapokat, de ilyenkor a lapokon bizonyos funkciók nem mûködtek. Nézegettem a Backbone-t de egy kicsit még magas nekem. kisebb szöveges modulok még OK, de a templétek már nem viszik az agyam. Hogy tudnék abban teljes oldalakt definiálni?
Jó dolgok ezek, én is írtam két keretrendszert. Arra kell figyelni, hogy ha azt akarod, hogy más is használja, ne bonyolítsd túl:) Én is sok hasznos dolgot építettem az elsõbe, ami nekem tök jó volt, de aztán készítettem egy "lite" verziót, ami igaz, nem nyalja ki a fenekedet, viszont egy óra alatt meg lehet tanulni és használni kényelmesen:) Ja és nem kell hozzá ezer oldalas doksit írnom:)
Ez jelenleg úgy néz ki (work in progress), hogy a rendszer szolgáltatja a szokásos dolgokat (felhasználó/jogosultságkezelés, smarty, adodb, firephp, phpmailer, stb), valamint a dinamikus entitás, modul és template (amibe assign-olva van a framework html, ajax, jQ fícsöröket tartalmazó view osztálya) betöltést.
Innentõl modulon belül, ha mindenáron template-ben szeretnél használni szeretnél egy objektumot, akkor assign-nolod. A controller-em pedig kizárólag url-bõl dolgozik (pl: domain.hu/project/module/function/id). A GET tiltva van, csak POST-olok.
A használat pedig kb annyi (mondhatni a szokásos), hogy létrehozunk egy modult (ami egy a rendszer modul osztályából leszármaztatott osztály), a konstuktor beállítja, amit be kell, router függvény eldönti az url alapján mit kell csinálni, a végrehajtófüggvények pedig összeszednek minden adatot, majd beküldi a smarty-nak. Egyszerû és nagyszerû:)
De, én a 3-as dokumentációjában olvastam alapvetõen a használatáról.
Assignolni meg azért nem akarok, mert ez egy különleges objektum (ez jól kiemelhetõ a $ elhagyásával, amihez mindenképp regisztrálni kell). Egy keretrendszerembe építem be modulként a Smarty-t, a Smarty osztály példányát a modul betöltõkódja hozza létre (majd késõbb ezt az elõkészített példányt le lehet kérni) és pár integrációs mûveletet végez rajta, ennek része ennek a bizonyos objektumnak a regiszrálása is: a keretrendszer egyes változóit és függvényeit ezen keresztül lehet elérni (jelenleg a webroot-ot, illetve a controllerekhez reverse-routing alapú url generáló függvényt, a jövõben is hasonló, view oldalról hasznos dolgokat tervezek bele).
Hm. Utánanézhetek én is. Én mondjuk mindig assign-olom az éppen szükséges osztályt, de amit lehet, azt template-en kívül pakolom változókba és töltöm be get_defined_vars()-al. Hiszen a tamplate lényege ugye, hogy minél kevesebb "szerver oldalt" tartalmazzon:)
A $smarty->register_object('obj', $obj) dolog a smarty 2-ben mûködik, a 3-ban elvileg nincs benne. (Sokan egyébként nem is tértek át 3-ra)
Nem, én csak szimplán el szeretnék érni public property-ket regisztrált osztálypéldányokból. Semmiképp sem változtatni.1000 helyen olvasom, hogy ezt simán lehet így:{object->property}
Ellenben az a durva belenéztem a compiler forráskódjába, nincs is olyan hivatkozás a registered_objects tömbre, ami property-khez férne hozzá!
Ez:
$return = "\$_smarty_tpl->smarty->registered_objects['{$tag}'][0]->{$method}({$_params})";
Illetve még egy hasonló, szintén metódushívó kódkimenet van a teljes compiler forrásában. Persze ha belenyúlok a compile-olt template-be, és kiszedem a függvényhívást jelzõ ()-t, akkor már megy is a property lekérés...
Meg tudom oldani amúgy simán getterekkel, de vicc, hogy mindenhol azt írják mûködik a property-k lekérése, azt közben le sincs programozva ilyen a Smarty-ban az elõbbi kutakodásom szerint.
Egyébként meg a hivatalos dokumentáció struktúrája valami ocsmány ha már itt tartunk, össze-vissza vannak benne szétszórva alapvetõ összetartozó dolgok...
Segítsetek plz, mert agyfaszt kapok...
Smarty 3, van egy egyszerû osztályom pár public property-vel, meg egy metódussal. Register object-el regisztrálom egy példányát a Smarty példányhoz, majd a template-ben:{object->method arg='value'} mûködik faszán{object->property} METÓDUSKÉNT AKARJA MEGHÍVNI!
1 órája túrom a Google-t de semmi, ráadásul a poén, hogy ha megadok hozzáférési engedélyezési listát, akkor ott is simán a ráküld egy is_callable-t a property-kre (kiakad természetesen a compiler). Amitõl szétrobbanok, hogy ezer olyan írást találtam már, amely szerint én mindent jól csinálok, viszont ez a FOS egyszerûen nem hajlandó tudomást venni az osztályváltozók fogalmának létezésérõl.
(Assign-olni nem akarok, mert szeretném ha ez az osztálypéldány a template-ekbõl $ nélkül lenne elérhetõ, speciális jellege miatt)
Kösz , a printscreen nem lett volna jó mert nem fért rá a monitorra egészbe.
Ha egy oldalon képre rámegyek és mentés másként funkióval lementem ,de SVG formátumba menti le abból hogy tudok rendes képet varázsolni?
Mert igy csak a böngészõ nyitja meg és PS-el nem tudok kezdeni vele semit.
Meg kell nyitnod a böngészõben a feltöltött PHP fájlt igen. Amúgy próbáld ki phpBB-t, az eléggé népszerû fórummotor.
valami teljesen egyszerû fórumot szeretnék egy saját oldalra.
azért valami jelszó vagy mail cím megadása jó lenne.
ezt néztem ki. bármelyiket választhattam volna, egyik sem volt különb számomra. (nem értek hozzá). szóval azt írja, hogy:
1. Töltsd fel a scriptet.
2. Futtasd le az install/index.php-t ahol be kell állítani a MySQL kapcsolódási adatokat, az ftp-t, és az admin felhasználónevet.
3. Ami az install végén kijön egy textareaban szöveg, azt jelöld ki, másold be az includes/config.php -ba és töltsd fel.
kicsomagoltam, feltöltöttem, de semmi. az eredeti mappában hagytam mindent, vagyis: ImperialBB_2.3.2.
atw oldalam lesz. azt kellene csinálnom, hogy ezmegaz.atw.hu/imperialBB_2.3.2./install/index.php, hogy be tudjam állítani amit kell?
köszi.
Az igen amúgy, kb pont a lényeget sikerült a földdel egyenlõvé tennie a fórummotornak...
Szóval az itthoni kis szerverem tök jó a legapróbb bottleneck-ek szöszölõs profiling nélküli kiszûrésére (elég hozzá a brutál logrendszerem ami nyomatja a microtimestamp-eket ha épp úgy akarom), a VPS-en pedig gyönyörködhetek a 4ms körüli rendertimeban ha épp az esik jól :)
Én mostmár úgy küldöm, hogy itthon egy kis tetûlassú (de 40W-on elvegetáló
(Viccen kívül természetesen nem tartok csak ezért egy VPS-t, még ha ingyen is van, de azon is szoktam tesztelni ha már úgyis oda tervezek a jövõben pár dolgot)
De miért jó az, ha IDE-bõl futtatod? Én böngészõben betöltöm a localhost/project-et és annyi. Írom a kódot, elmentem és frissítem az oldalt. A PHP meg mindig megy, hiszen fut az apache.
Sziasztok! Látom PHPStormoztok. Az lenne a kérdésem, hogy: hogy lövitek össze a XAMPP-al?
Nekem még nem sikerült, kicsit bonyi.
Jaja, mindegyik elég jó verzió.
Komodo új felülete tetszik, de egyelõre maradok PhpStormnál.
Sublime Text meg még mindig legjobb "nem IDE", abból is jön a 3.0 lassacskán, év eleje óta van béta.
MerlinW, Easy Rider - megfogadtam a tanacsotokat es irtam egy telejesen uj kodot az otletetek alapjan. Koszonom.
Szia , szerintem vagy ajax-os megoldás, vagy ez is lehet. : dinamikusan js-el
Szép napot!
Csatlakozom MerlinW-hez; az N-M kapcsolat csak nagyon kevés esetben jó megoldás. Próbálj meg törekedni arra, hogy logikailag 1-N kapcsolat legyen belõle, és Te is könnyebben fogsz megoldásra jutni ;)
Ez az oda-vissza dolog logikailag nem a legjobb, hiszen így elfogynak az opciók egy idõ után és nem lehet módosítani a szûrést. Persze nem tudom mi lesz a célja, de általában van egy szûrõ meg egy szûrendõ select.
Kicsit felfrissitem mar a topikot egy kerdessel.
Van egy olyan problemam, hogy kesziteni akarok ket select>option legordulo menut, ami oda es vissza is kapcsolatban all egymassal oldal ujratoltese nelkul. A neten talaltam jopar cuccot, am csak az egyik iranyba vannak megoldasok.
A lenyege az kellene, hogy legyen, amikor kivalaszom a hatter selectbol a semmi vagy az akarmi opciot, akkor a szinek selectben csak a Válassz! lehetoseg maradjon. Viszont ha a hatter selectbol az valami opciot valasztom, akkor a szinek selectben maradjon meg minden opcio. Mindket valasztas utan a hatter selectben maradjon meg minden opcio, mivel ha a a hatter selectben a Válassz! opciora kattintok, akkor a szinek selectbe is keruljon vissza minden opcio.
Ugyanez a masik iranyba is hasonloan kellene mukodnie ugy, hogy ha a szinek selectben kattintok barmelyik opciora, akkor a hatter selectben csak a valami es a Válassz! opcio maradjon, a szinek selectben szinten minden opcio maradjon.
Ha barmelyik selectben kivalasztom a Válassz! opciot, akkor mindket selectben alljon vissza az eredeti allapot.
Eddig jutottam.
Viszont itt a hatter selectben meg sem jelenik minden opcio + ha kivalasztom azt az egyet, majd a szinek selectben is kivalaszok egyet, akkor a hatter selectben atvalt a Válassz! opciora.
Akinek esetleg van otlete eme problemara, azt megkoszonnem.
Én voltam már olyan szerveren, amin 2 napig lehetett csak írni 1 fájlt, nem lehet, hogy ilyesmi van nálad is?
Hát igen, nem saját szerver sajnos, így ilyen mélységekben nem tudok belenyúlni. 0777-el csináltam, és nem értem miért nem mûködik. Érdekes, hogy átnevezni meg ftp-n át tudtam, így van ott egy könyvtár már nem foglalkozok vele.Igazából bármit próbáltam php-vel csinálni azóta ezzel a mappával, a log fájlban "Operation not permitted" hiba van....Na mind1 ott marad ez a könyvtár :)
Nem tudom ez hol van neked de esetleg próbáld shellbõl root-ként vagy sudo-val rendbetenni ha tudod.
Ha saját szerver, akkor tudtommal ajánlott a www-data usert (amivel az apache fut, alapból ez de lehet más is) használni ftp-hez (akár átvitten persze), és akkor egy szinten mûködsz a php-val(apache-al) ftp mûveleteknél. Illetve ha belenyúltál volna más userrel korábban, akkor nem árt egy chown www-data a document rootra és a benne lévõ fájlokra rekurzívan. Én mióta figyelek erre, azóta nem volt gebasz.
Korlátozott hosting esetén persze tárgytalan a dolog ilyen szinten sajnos...
Én egy kicsit kezdõ vagyok php-ban, és lenne egy kérdésem,amit nem tudok megoldani.Van egy mappa,amit php hozott létre, így nem tudok ftp-n írni bele. chmod-al próbáltam 777-re módosítani,de nem tudom miért 411 lett az attribútuma ,amivel azóta semmit nem tudok csinálni. Nem lehet módosítani, se törölni semmit php scriptel. Mi okozhatja ezt ?