- 5.1, 7.1 és gamer fejhallgatók
- Bejelentette az Arc A sorozat nyugdíjazását az Intel
- OLED monitor topik
- TCL LCD és LED TV-k
- AMD K6-III, és minden ami RETRO - Oldschool tuning
- Milyen RAM-ot vegyek?
- Milyen alaplapot vegyek?
- Házi barkács, gányolás, tákolás, megdöbbentő gépek!
- Nem indul és mi a baja a gépemnek topik
- Azonnali notebookos kérdések órája
Új hozzászólás Aktív témák
-
Peter Kiss
őstag
válasz
pvt.peter #11049 üzenetére
Valami ilyesmire gondoltam, ehhez hasonló irányt nagyobb versenyzők is követtek, nem véletlenül. Hiba lehet benne, nem próbáltam ki, igazából egy sornyi megvalósítást se akartam írni, de így talán egyértelműbb.
---
#11050, Sk8erPeter, ezt hívják ocsmány megoldásnak, no offense.
---
#11051, Soak, az OO-val még nem kerültél közelebbi barátságba, de nagy pirospont a külön header és tab-ok legyártásáért, innen már csak egy lépés a NVI (non virtual interface, én is ezt használtam).
-
Soak
veterán
válasz
pvt.peter #11049 üzenetére
Szia !
http://ideone.com/nUwsA ez megcsinálja azt kódot amit szeretnél (mármint a mellékelt kódrészletet) , egy osztály tulajdonságainak megfelelő számút, majd azok értékét beteszi magába a tabsba .
Szerk : A fül neve pedig a tulajdonság neve.
-
Sk8erPeter
nagyúr
válasz
pvt.peter #11049 üzenetére
Csak azt mondom, ami hirtelen eszembe jutott, lehet, hogy lehetne még ezerszer jobb megoldással (pl. template-ezéssel).
Esetleg gyűjthetnéd egy private $tabs = array(); tömbbe a füleket (privát osztályon belüli változó), ahol a tömb kulcsai maguk a fül azonosítói lennének. Kiegészíthetnéd az addNewTabet úgy, hogy egyből a HTML-tartalmat is hozzáadod:
public function addNewTab(tabId, tabLabel, htmlContentOfTab)
Aztán lenne egy renderTabs() metódus, ami legenerálná az összes fület ciklusokkal, úgy, hogy létrehozná a megfelelő linkeket (ez egy ciklus), meg hozzácsapná az azonosítókkal ellátott diveket (ez még egy ciklus).
Az osztályon belül a private $tabs = array(); tömbbe valahogy így gyűjthetnéd ki (ami az osztályon belül így lenne elérhető: $this->tabs):
$tabs = array(
'fragment-1' => array(
'label' => 'One',
'content' => '<p>tartalom egy.............</p>'
),
'fragment-2' => array(
'label' => 'Two',
'content' => '<p>tartalom kettő.............</p>'
),
'fragment-3' => array(
'label' => 'Three',
'content' => '<p>tartalom három.............</p>'
),
);Ez csak első megközelítés, de ezt így nagyon egyszerű lenne megvalósítani. Persze gondolni kell az XSS elkerülésére is biztonsági okokból, ha WYSIWYG-jellegű admin-felület lenne a tartalom belepakolására.
Új hozzászólás Aktív témák
Hirdetés
- Autós topik
- AliExpress tapasztalatok
- Samsung Galaxy S24 Ultra - ha működik, ne változtass!
- 5.1, 7.1 és gamer fejhallgatók
- Bejelentette az Arc A sorozat nyugdíjazását az Intel
- Milyen autót vegyek?
- OLED monitor topik
- Háztartási gépek
- Samsung Galaxy S23 és S23+ - ami belül van, az számít igazán
- TCL LCD és LED TV-k
- További aktív témák...
- Lenovo ThinkPad L16 Gen 1 - 16" WUXGA IPS - Ultra 5 135U - 16GB - 512GB - Win11 - 2,5 év gari
- DELL PowerEdge R730xd 12LFF rack szerver - 2xE5-2680v3,64GB RAM,4x1GbE,H330 RAID v ZFS
- ÁRGARANCIA! Épített KomPhone Ryzen 5 5600X 16/32/64GB RAM RX 7600 8GB GAMER PC termékbeszámítással
- Eredeti Windows 10 / 11 Pro aktiválókulcs AZONNALI SZÁLLÍTÁSSAL!
- AKCIÓ! Gigabyte H610M i5 12400F 32GB DDR4 512GB SSD RTX 3060Ti 8GB Rampage SHIVA Be Quiet! 730W
Állásajánlatok
Cég: CAMERA-PRO Hungary Kft
Város: Budapest
Cég: PC Trade Systems Kft.
Város: Szeged