| | |
| Stránka: 1 z 1
| [ Príspevkov: 8 ] | |
Autor | Správa |
---|
Registrovaný: 31.05.10 Prihlásený: 10.08.15 Príspevky: 35 Témy: 15 |
Ahojte.
Chalani prosím Vás pekne, neviete resp. nemáte nejaký návod ako si spraviť funkciu, cez ktorú pridáte napríklad nejaký text napríklad medzi tagy head> sem </head>, <title> sem </title> a pod. ?
-Uvediem príklad mám súbor header.php v ktorom mám klasicky hlavičku - <title>Nazov stranky - krasna stranka</title> a podobne.
--Ďalej mám povedzme súbor pokec.php v ktorom chcem použiť funkciu cez ktorú zmením pôvodný <title> ktorý mám v header.php napríklad aby nebol <title>Nazov stranky - krasna stranka</title> ale <title>Nazov stranky - Pokec stranka</title>
Hľadal som a viem že je to riešené aj v redakčnom systéme PHP Fusion no neviem s tým pohnúť, tak sa pýtam Vás, či neviete ako na to.
Ďakujem Všetkým za rozumné príspevky.
|
|
Registrovaný: 17.07.11 Prihlásený: 29.12.20 Príspevky: 1516 Témy: 3 | Napísal BX: 10.09.2012 16:36 | |
|
Napríklad regulárnymi výrazmi, asi takto:
Kód: $novy_titulok = "Moj novy titulok"; preg_replace ( " /<title>.*?<\/title>/ ", "<title> $novy_titulok </title>", $text_urceny_na_zmenu );
Alebo natvrdo cez javasript document.title = "Novy titulok"
|
|
Registrovaný: 14.04.09 Prihlásený: 18.01.22 Príspevky: 1188 Témy: 198 |
Pouzit JS je nelogicke.
Pouzit regularny vyraz by si mohol. Reg. vyrazy su narocnejsie na vykon, co ti asi nevadi, ale jednoducho na taketo veci sa nepouzivaju. Proste mna by toto ani nenapadlo robit cez preg_replace. Ale ked uz tak, tak trosku poupravim:
Kód: $novy_titulok = "Moj novy titulok"; $text_urceny_na_zmenu = preg_replace ( " /<title>.*?<\/title>/ ", "<title> $novy_titulok </title>", $text_urceny_na_zmenu );
Pricina problemu je v tom ze mas pravdepodobne zle rozvrhnuty kod, ked riesis takyto problem. Ja titulok pre jednotlive stranky generujem asi takto:
Vytvorim si objekt/triedu, ktora ma za ulohu "poskladat" mi stranku. Jedna metoda tejto triedy ma za ulohu podla aktualnej stranky zvolit prislusny titulok. Parser spracuje vsetky templaty pricom do hlavicky hodi vybrany titulok.
Ty by si mohol includovat pokec aj header v jednom subore. V nom vies, ze ides includovat pokec a header. Preto si mozes do premennej ulozit titulok prislusny pokecu. V header.php uz vypisujes do titulku tuto premennu.
_________________ CPU: Intel core i5 3470 GPU: Gigabyte N760OC-2GD MB: MSI B75A-G43 RAM: DDRAM3 8GB (2x4GB) TEAM RAM 1600MHz Elite Zdroj: Seasonic G Series 450W HDD: 500GB vybraty z notebooku Lenovo E531 i5-3230M N4IBPXS SSD:Samsung 840 Evo 250GB Case: Fractal Define R4 black pearl FAN: Cooler Master Hyper 212+ EVO DVD: SAMSUNG DVD±R/±RW/RAM SH-224DB SATA, černá, bulk OS: Ubuntu 12.04 64bit & Windows 7 Ultimate 64bit Monitor: Dell U2412m |
|
Registrovaný: 31.05.10 Prihlásený: 10.08.15 Príspevky: 35 Témy: 15 | Napísal autor témy black1101: 16.09.2012 13:05 | |
|
Chalani ďakujem vám ale nejako mi nefunguje ten príklad s preg_replace je možné že niekde robím chybu?
$novy_titulok je napr sport a mal by prepísať ten pôvodný title nie?
Deamon1: neviem či to myslíš nejak inak ale ja mám spravený controller login a v metóde __construct() volám metódu addTittle teda to mám nejak takto:
Kód: class Login extends Controller { function __construct(){ parent::__construct(); $this->view->addTitle(); }
function index() { $this->view->render('login/index'); }
} prikladám addTitle: Kód: public function addTitle() { $novy_titulok = "sport"; $text_urceny_na_zmenu = preg_replace ( " /<title>.*?<\/title>/ ", "<title> $novy_titulok </title>", $text_urceny_na_zmenu ); return $text_urceny_na_zmenu; }
Vopred ďakujem.
|
|
Registrovaný: 17.07.11 Prihlásený: 29.12.20 Príspevky: 1516 Témy: 3 | Napísal BX: 16.09.2012 15:46 | |
|
Pardon, ja som to najprv trochu nepochopil. Daemon má pravdu, máš to zle rozvrhnuté.
Ak skladáš celú stránku v php, nič ti nebráni vyskladať si title aký len chceš. Nič meniť nemusíš - ba ani by si nemal.
_________________ Na súkromné správy týkajúce sa problémov, ktoré sa riešia vo fóre, neodpovedám! |
|
Registrovaný: 31.05.10 Prihlásený: 10.08.15 Príspevky: 35 Témy: 15 | Napísal autor témy black1101: 16.09.2012 19:40 | |
|
BX: no vyššie som uviedol príklad ako to asi mám riešené tak ako už napríklad v tej triede Login dám nejaký title? neviem ako inak to riešiť ak nie cez ten preg_replace
|
|
Registrovaný: 14.04.09 Prihlásený: 18.01.22 Príspevky: 1188 Témy: 198 |
Priklad s tym regularnym vyrazom je napisany tak, ze pokial uz mas v premennej $text_urceny_na_zmenu html kod celeho webu alebo hlavicky, nahradi ti v nom titulok. Mimochodom tiez sa tam rata s tym, ze tutilok spolu s celym tagom title je v 1 riadku.
No snad spravne rozumiem.
Ty by si mal tou metodou addTitle urcit obsah titulku, ktory potom vlozi metoda render. Cize nieco ako:
Kód: class Login extends Controller { function __construct(){ parent::__construct(); $this->view->addTitle('login'); }
function index() { $this->view->render('login/index'); }
vo funkcii addTitle uz potom budes mat dajme tomu pole vsetkych titulkov, vyberies ten s klucom 'login' a ulozis ho do nejakej premennej/vlastnosti pre tu triedu ktoru mas vo $title->view. asi nieco ako: Kód: public function addTitle($key) { $all_titles = array( 'login' => 'titulok na prihlasenie' ); $this->title = ( isset($all_titles[$key]) ) ? $all_titles[$key] : '' ; }
A metodu render uz neviem ako mas spravenu, tam by si uz mal rendrovat stranku pricom pouzijes teda ten titulok ktory si si urcil. Vytiahnes ho z $this->title.
_________________ CPU: Intel core i5 3470 GPU: Gigabyte N760OC-2GD MB: MSI B75A-G43 RAM: DDRAM3 8GB (2x4GB) TEAM RAM 1600MHz Elite Zdroj: Seasonic G Series 450W HDD: 500GB vybraty z notebooku Lenovo E531 i5-3230M N4IBPXS SSD:Samsung 840 Evo 250GB Case: Fractal Define R4 black pearl FAN: Cooler Master Hyper 212+ EVO DVD: SAMSUNG DVD±R/±RW/RAM SH-224DB SATA, černá, bulk OS: Ubuntu 12.04 64bit & Windows 7 Ultimate 64bit Monitor: Dell U2412m |
|
Registrovaný: 17.07.11 Prihlásený: 29.12.20 Príspevky: 1516 Témy: 3 | Napísal BX: 17.09.2012 13:49 | |
|
Prípadne využijem dedičnosti a výber správneho titulku nechám na kontexte. To by ale chcelo už trochu viac prerobiť celý tvoj kód a systém rendrovania stránky.
_________________ Na súkromné správy týkajúce sa problémov, ktoré sa riešia vo fóre, neodpovedám! |
|
| Stránka: 1 z 1
| [ Príspevkov: 8 ] | |
Podobné témy | Témy | Odpovede | Zobrazenia | Posledný príspevok |
---|
| Head 2v1 v HTML, XHTML, XML, CSS | 1 | 782 | 15.01.2007 22:05 javo | | P: Head-Direct RE0 v Predám | 0 | 560 | 03.02.2010 20:48 Turus | | VideoDownloader Add-On v Sieťové a internetové programy | 3 | 677 | 20.02.2008 14:31 patqo_he | | Add/Remove program list v Operačné systémy Microsoft | 6 | 797 | 11.01.2008 10:23 Shit | | Phpbb3 / add style -- Inherits v Redakčné systémy | 1 | 763 | 18.06.2010 18:19 ansysko | | Video edit & add efekt v Video programy | 3 | 638 | 16.09.2009 11:42 AlbiDartanan | | IE Add-on sa nezobrazi v Operačné systémy Microsoft | 0 | 361 | 28.04.2009 14:35 ac.milan | | Add this topic to your bookmarks v Redakčné systémy | 0 | 675 | 13.10.2006 9:28 JanoF | | Add this topic to your bookmarks v Redakčné systémy | 0 | 704 | 14.10.2006 15:21 JanoF | | You'll have to add your languages back in Windows 8. v Operačné systémy Microsoft | 1 | 800 | 22.04.2014 13:56 Mandy | | Joomla komponent "search a Add(create)" v Redakčné systémy | 0 | 258 | 13.05.2013 0:14 gi-lee | | Funkcia v PHP, ASP | 6 | 828 | 06.11.2007 15:45 Orwell | | funkcia v Assembler, C, C++, Pascal, Java | 3 | 636 | 29.04.2009 20:31 stopa27 | | funkcia.... v PHP, ASP | 1 | 641 | 30.08.2008 20:44 p360t | | funkcia v Assembler, C, C++, Pascal, Java | 1 | 636 | 10.02.2009 21:20 Fico | | Funkcia v PHP, ASP | 12 | 819 | 24.04.2008 18:37 Triminka |
| Nemôžete zakladať nové témy v tomto fóre Nemôžete odpovedať na témy v tomto fóre Nemôžete upravovať svoje príspevky v tomto fóre Nemôžete mazať svoje príspevky v tomto fóre
|
|