Nästan gemensam header [LÖST]

Här diskuteras programmering och utveckling
Lars
Inlägg: 6191
Blev medlem: 14 jan 2007, 19:31
OS: Ubuntu
Utgåva: 22.10 Kinetic Kudu
Ort: Stockholm

Nästan gemensam header [LÖST]

Inlägg av Lars »

Här på ubuntu-se har vi som ni ser en gemensam header som visas i alla delar. Det funkar bra, men just nu så ligger koden på 6 olika ställen (minst). Så idag när jag skulle lägga till nedräkningen inför Hardy så var jag tvungen att ändra överallt. Jag känner till att man kan köra include i PHP, men kan man skicka ett argument också? Rätt flik måste ju markeras i de olika delarna.

Hur löser man det här bäst så att man kan utföra framtida ändringar på ETT ställe?
KiviE
Inlägg: 2157
Blev medlem: 25 okt 2007, 14:00
OS: Ubuntu
Utgåva: 22.04 Jammy Jellyfish LTS
Ort: Luleå

Re: Nästan gemensam header

Inlägg av KiviE »

Varför ska du skicka med ett argument? Så här har jag fattat att include fungerar:

index.php

Kod: Markera allt

<?php
$name = KiviE;
include head.php;
?>
head.php

Kod: Markera allt

<?php
echo "Välkommen hit $name!";
?>
Resultat:

Kod: Markera allt

<?php
$name = KiviE;
echo "Välkommen hit $name!";
?>
Alltså all kod som finns i include filen läggs in i filen som inkluderar koden. Så variabler satta i filen gäller även för filen som inkluderas.

Nu har jag säkert helt missuppfattat vad du vill göra?

http://us2.php.net/include/
Lars
Inlägg: 6191
Blev medlem: 14 jan 2007, 19:31
OS: Ubuntu
Utgåva: 22.10 Kinetic Kudu
Ort: Stockholm

Re: Nästan gemensam header

Inlägg av Lars »

Aha, naturligtvis, det borde ju fungera :) Koden för flikarna ser alltså ut så här:

Kod: Markera allt

	<ul>	
		<li><a href="http://ubuntu-se.org/planet/" title="Bloggar">Bloggar</a></li>
		<li><a href="http://ubuntu-se.org/maillista" title="Maillista">Maillista</a></li>
		<li><a href="http://ubuntu-se.org/IRC" title="IRC">Chatt</a></li>
		<li><a href="http://ubuntu-se.org/wiki" title="Wiki">Wiki</a></li>
		<li id="aktiv"><a href="http://www.ubuntu-se.org/forum" title="Forum">Forum</a></li>

		<li><a href="http://ubuntu-se.org/drupal/" title="Portal">Portal</a></li>
	</ul>
Så det jag vill göra är att sätta id="aktiv" på rätt flik beroende på varifrån jag kör include. Finns det något smidigt sätt att göra det på utan en lång radda if-satser?
KiviE
Inlägg: 2157
Blev medlem: 25 okt 2007, 14:00
OS: Ubuntu
Utgåva: 22.04 Jammy Jellyfish LTS
Ort: Luleå

Re: Nästan gemensam header

Inlägg av KiviE »

Självklart finns det ett rätt smidigt sätt, fixade ungefär samma sak i Odus.se/wiki. Ska kolla om jag kommer åt koden just nu så jag slipper skriva om allt och köra lite copy paste ist =)
KiviE
Inlägg: 2157
Blev medlem: 25 okt 2007, 14:00
OS: Ubuntu
Utgåva: 22.04 Jammy Jellyfish LTS
Ort: Luleå

Re: Nästan gemensam header

Inlägg av KiviE »

Har du koll på vilken sida man är på?

Kod: Markera allt

   <ul>   
      <li<?= ($page == "bloggar"? " id=\"aktiv\"":"") ?>><a href="http://ubuntu-se.org/planet/" title="Bloggar">Bloggar</a></li>
      <li<?= ($page == "maillista"? " id=\"aktiv\"":"") ?>><a href="http://ubuntu-se.org/maillista" title="Maillista">Maillista</a></li>
      <li<?= ($page == "irc"? " id=\"aktiv\"":"") ?>><a href="http://ubuntu-se.org/IRC" title="IRC">Chatt</a></li>
      <li<?= ($page == "wiki"? " id=\"aktiv\"":"") ?>><a href="http://ubuntu-se.org/wiki" title="Wiki">Wiki</a></li>
      <li<?= ($page == "forum"? " id=\"aktiv\"":"") ?>><a href="http://www.ubuntu-se.org/forum" title="Forum">Forum</a></li>
      <li<?= ($page == "drupal"? " id=\"aktiv\"":"") ?>><a href="http://ubuntu-se.org/drupal/" title="Portal">Portal</a></li>
   </ul>
Blev visst en if sats för varje rad men blir rätt snyggt att göra på det viset. $page ska innehålla portal, forum, wiki, irc, maillista eller bloggar beroende på vilken sida man är på... du kan ju ändra om lite så det passar...

Hoppas det hjälper.
Lars
Inlägg: 6191
Blev medlem: 14 jan 2007, 19:31
OS: Ubuntu
Utgåva: 22.10 Kinetic Kudu
Ort: Stockholm

Re: Nästan gemensam header

Inlägg av Lars »

Åh, sådana härliga C-ismer med "() ? :", man kanske skulle sätta sig ner och läsa på om PHP någon vacker dag... Men det där ser bra ut, jag snor den koden, tack :)
Lars
Inlägg: 6191
Blev medlem: 14 jan 2007, 19:31
OS: Ubuntu
Utgåva: 22.10 Kinetic Kudu
Ort: Stockholm

Re: Nästan gemensam header

Inlägg av Lars »

En följdfråga då. Jag försöker få till CSS också så att det passar på alla sidor. Som jag förstått det så är det "postition: relative" som jag bör använda (portalens header ligger ju en bit ner/in). Men hur jag än gör får jag inte till det, kika på http://www.ubuntu-se.org/header/. Hur får jag räknaren att hamna rätt i förhållande till headern?
KiviE
Inlägg: 2157
Blev medlem: 25 okt 2007, 14:00
OS: Ubuntu
Utgåva: 22.04 Jammy Jellyfish LTS
Ort: Luleå

Re: Nästan gemensam header

Inlägg av KiviE »

Är tyvärr mycket dålig på CSS så kan inte hjälpa dig :(

Verkar dock finnas de här på forumet som är bra på den biten =)
Användarvisningsbild
zero gravity
Wikiadmin
Inlägg: 2504
Blev medlem: 15 apr 2006, 15:37
OS: Arch Linux
Ort: Bohuslän
Kontakt:

Re: Nästan gemensam header

Inlägg av zero gravity »

Lars skrev:En följdfråga då. Jag försöker få till CSS också så att det passar på alla sidor. Som jag förstått det så är det "postition: relative" som jag bör använda (portalens header ligger ju en bit ner/in). Men hur jag än gör får jag inte till det, kika på http://www.ubuntu-se.org/header/. Hur får jag räknaren att hamna rätt i förhållande till headern?
De verkar ha löst sig?
Lars
Inlägg: 6191
Blev medlem: 14 jan 2007, 19:31
OS: Ubuntu
Utgåva: 22.10 Kinetic Kudu
Ort: Stockholm

Re: Nästan gemensam header

Inlägg av Lars »

Japp, det löste sig. Jag lade en extra div runt både loggan och räknaren, verkar onödigt tycker jag. Men bara det funkar är jag glad :)
Skriv svar

Återgå till "Programmering och webbdesign"