[ 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 | 15
NapísalOffline : 10.09.2012 16:21 | Add to head funkcia?

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ý: 14.12.17
Príspevky: 1433
Témy: 2 | 2
Bydlisko: Praha / Rev...
NapísalOffline : 10.09.2012 16:36 | Add to head funkcia?

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ý: 28.11.17
Príspevky: 1178
Témy: 188 | 188
NapísalOffline : 10.09.2012 21:11 | Add to head funkcia?

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 | 15
Napísal autor témyOffline : 16.09.2012 13:05 | Add to head funkcia?

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ý: 14.12.17
Príspevky: 1433
Témy: 2 | 2
Bydlisko: Praha / Rev...
NapísalOffline : 16.09.2012 15:46 | Add to head funkcia?

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 | 15
Napísal autor témyOffline : 16.09.2012 19:40 | Add to head funkcia?

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ý: 28.11.17
Príspevky: 1178
Témy: 188 | 188
NapísalOffline : 17.09.2012 0:37 | Add to head funkcia?

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ý: 14.12.17
Príspevky: 1433
Témy: 2 | 2
Bydlisko: Praha / Rev...
NapísalOffline : 17.09.2012 13:49 | Add to head funkcia?

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!
 [ Príspevkov: 8 ] 


Add to head funkcia?



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

655

15.01.2007 22:05

javo

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

399

03.02.2010 20:48

Turus

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

VideoDownloader Add-On

v Sieťové a internetové programy

3

451

20.02.2008 14:31

patqo_he

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

Add Friend (Steam)

v Kôš

0

49

28.06.2016 19:23

Herkules

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

Phpbb3 / add style -- Inherits

v Redakčné systémy

1

538

18.06.2010 18:19

ansysko

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

Add/Remove program list

v Operačné systémy Microsoft

6

495

11.01.2008 10:23

Shit

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

IE Add-on sa nezobrazi

v Operačné systémy Microsoft

0

188

28.04.2009 14:35

ac.milan

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

Video edit & add efekt

v Video programy

3

446

16.09.2009 11:42

AlbiDartanan

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

Add this topic to your bookmarks

v Redakčné systémy

0

280

13.10.2006 9:28

JanoF

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

Add this topic to your bookmarks

v Redakčné systémy

0

326

14.10.2006 15:21

JanoF

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

514

22.04.2014 13:56

Mandy

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

Joomla komponent "search a Add(create)"

v Redakčné systémy

0

74

13.05.2013 0:14

gi-lee

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

Funkcia

v PHP, ASP

6

590

06.11.2007 15:45

Orwell

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

funkcia

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

3

442

29.04.2009 20:31

stopa27

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

funkcia....

v PHP, ASP

1

428

30.08.2008 20:44

p360t

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

funkcia

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

1

436

10.02.2009 21:20

Fico



© 2005 - 2017 PCforum, edited by JanoF