Obsah fóra
PravidláRegistrovaťPrihlásenie




Odpovedať na tému [ Príspevkov: 8 ] 
AutorSpráva
Offline

Užívateľ
Užívateľ
Obrázok užívateľa

Registrovaný: 31.05.10
Prihlásený: 10.08.15
Príspevky: 35
Témy: 15
Príspevok NapísalOffline : 10.09.2012 16:21

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.


Offline

Skúsený užívateľ
Skúsený užívateľ
Obrázok užívateľa

Registrovaný: 17.07.11
Prihlásený: 29.12.20
Príspevky: 1516
Témy: 3
Príspevok NapísalOffline : 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"


Offline

Užívateľ
Užívateľ
Obrázok užívateľa

Registrovaný: 14.04.09
Prihlásený: 18.01.22
Príspevky: 1188
Témy: 198
Príspevok NapísalOffline : 10.09.2012 21:11

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
Offline

Užívateľ
Užívateľ
Obrázok užívateľa

Registrovaný: 31.05.10
Prihlásený: 10.08.15
Príspevky: 35
Témy: 15
Príspevok Napísal autor témyOffline : 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.


Offline

Skúsený užívateľ
Skúsený užívateľ
Obrázok užívateľa

Registrovaný: 17.07.11
Prihlásený: 29.12.20
Príspevky: 1516
Témy: 3
Príspevok NapísalOffline : 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!
Offline

Užívateľ
Užívateľ
Obrázok užívateľa

Registrovaný: 31.05.10
Prihlásený: 10.08.15
Príspevky: 35
Témy: 15
Príspevok Napísal autor témyOffline : 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


Offline

Užívateľ
Užívateľ
Obrázok užívateľa

Registrovaný: 14.04.09
Prihlásený: 18.01.22
Príspevky: 1188
Témy: 198
Príspevok NapísalOffline : 17.09.2012 0:37

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
Offline

Skúsený užívateľ
Skúsený užívateľ
Obrázok užívateľa

Registrovaný: 17.07.11
Prihlásený: 29.12.20
Príspevky: 1516
Témy: 3
Príspevok NapísalOffline : 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!
Odpovedať na tému [ Príspevkov: 8 ] 


Podobné témy

 Témy  Odpovede  Zobrazenia  Posledný príspevok 
V tomto fóre nie sú ďalšie neprečítané témy. Head 2v1

v HTML, XHTML, XML, CSS

1

782

15.01.2007 22:05

javo Zobrazenie posledných príspevkov

Táto téma je zamknutá, nemôžete posielať nové príspevky alebo odpovedať na staršie. P: Head-Direct RE0

v Predám

0

560

03.02.2010 20:48

Turus Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. VideoDownloader Add-On

v Sieťové a internetové programy

3

677

20.02.2008 14:31

patqo_he Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. Add/Remove program list

v Operačné systémy Microsoft

6

797

11.01.2008 10:23

Shit Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. Phpbb3 / add style -- Inherits

v Redakčné systémy

1

763

18.06.2010 18:19

ansysko Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. Video edit & add efekt

v Video programy

3

638

16.09.2009 11:42

AlbiDartanan Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. IE Add-on sa nezobrazi

v Operačné systémy Microsoft

0

361

28.04.2009 14:35

ac.milan Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. Add this topic to your bookmarks

v Redakčné systémy

0

675

13.10.2006 9:28

JanoF Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. Add this topic to your bookmarks

v Redakčné systémy

0

704

14.10.2006 15:21

JanoF Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. 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 Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. Joomla komponent "search a Add(create)"

v Redakčné systémy

0

258

13.05.2013 0:14

gi-lee Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. Funkcia

v PHP, ASP

6

828

06.11.2007 15:45

Orwell Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. funkcia

v Assembler, C, C++, Pascal, Java

3

636

29.04.2009 20:31

stopa27 Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. funkcia....

v PHP, ASP

1

641

30.08.2008 20:44

p360t Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. funkcia

v Assembler, C, C++, Pascal, Java

1

636

10.02.2009 21:20

Fico Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. Funkcia

v PHP, ASP

12

819

24.04.2008 18:37

Triminka Zobrazenie posledných príspevkov


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

Skočiť na:  

Powered by phpBB Jarvis © 2005 - 2024 PCforum, webhosting by WebSupport, secured by GeoTrust, edited by JanoF
Ako väčšina webových stránok aj my používame cookies. Zotrvaním na webovej stránke súhlasíte, že ich môžeme používať.
Všeobecné podmienky, spracovanie osobných údajov a pravidlá fóra