Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

Betinget placering af menukolonner

5 views
Skip to first unread message

Kurt Hansen

unread,
Apr 9, 2013, 11:51:55 PM4/9/13
to
Jeg har et trespaltet design i en webshop, hvor administrator kan til-
eller frav�lge menukolonner:

Menu i venstre side: Ja / Nej
Menu i h�jre side: Ja / Nej

Den nuv�rende kode er med sektionerne sat op i tabeller og det vil jeg
�ndre til CSS, men det vil ikke rigtig fungere.

Hvis jeg erstatter <table> og <td> med <div> og s�tter de samme
parametre p�, f.eks. width=100, algin=top o.s.v., skulle det vel fungere
i en r� og upoleret form?

Siden starter med en masse php-linjer f�r <DOCTYPE> og der er en masse
sjove ting i <head>, men pyt med det. Layoutet best�r af en header, en
footer og 3 kolonner midt imellem disse. Lige efter <body> kommer:

<body>

<?php require(DIR_WS_INCLUDES . 'header.php'); ?>

<table class="pageBody">
<tr>
<?php
if (LAYOUT_COLUMN_LEFT_SHOW == 'Ja') {
?>

pageBody-tabellen er alts� en wrapper til det samlede areal, hvor een
eller flere kolonner skal placeres.

Headeren placeres rigtigt (oven over wrapperen), men s� v�lter det.

Betingelsen er opfyldt og midtersektionen skal derfor starte med en
menukolonne i venstre side, hvilket sker ved at oprette en tabelcelle i
wrapperen og cellen indeholder en tabel:

<td width="<?php echo LAYOUT_COLUMN_LEFT_WIDTH; ?>" class="columnLeft">
<table width="<?php echo LAYOUT_COLUMN_LEFT_WIDTH; ?>">
<?php require(DIR_WS_INCLUDES . 'column_left.php'); ?>
</table>
</td>

<?php
}
?>

Grundl�ggende forst�r jeg ikke hvordan man kan lave et php-kald inde i
en tabel, der hverken har <tr> eller <td>, men pyt med det.

Derefter f�lger s� indholdet i midterkolonnen:

<div class="content">
bla, bla, bla ...
</div>

Mit problem er nu, at indholdet der skulle have v�ret placeret i venstre
kolonne i stedet placeres *under* indholdet i midtersektionen.

Hvad er det lige der g�r galt?

P.S. N�r jeg �ndrer <table> til <div>, skal CSS-syntaxen jo f�lges.
Eksempel:

<td width="<?php echo LAYOUT_COLUMN_LEFT_WIDTH; ?>" class="columnLeft">

bliver til:

<div style="width=:<?php echo LAYOUT_COLUMN_LEFT_WIDTH; ?>"
class="columnLeft">

eller ...?
--
Venlig hilsen
Kurt Hansen

Bertel Lund Hansen

unread,
Apr 10, 2013, 4:19:19 AM4/10/13
to
Kurt Hansen skrev:

> P.S. N�r jeg �ndrer <table> til <div>, skal CSS-syntaxen jo f�lges.

Det lyder som om du tror at man bare kan udskifte <table> med
<div>. S� nemt er det ikke. Man skal faktisk designe helt forfra.
Tabeller holder jo styr p� r�kker og kolonner, og det styr
forsvinder n�r man fjerne tabellen. S� er man n�dt til f.eks. at
give hver r�kke en <p> og s� floate dem - men derved f�r man jo
ikke n�ste r�kkes elementer til at st� p�nt under den
foreg�endes.

N�r det hele er forklaret i s� generelle vendinger, er det
umuligt at komme med mere pr�cise r�d - men det skyldes ogs� min
grundl�ggende modvilje mod den slags projekter som du har gang i.
Hvis man vil �ndre et design, er man n�dt til at starte fra
bunden. Det var f.eks. det jeg gjorde med Fidusos design da jeg
gik fra tabeller til CSS. Og det var vel at m�rke mig selv der
jhavde kodet det hele, s� det var ikke fordi jeg ikke vidste
hvordan det gamle design hang sammen.

--
Bertel
http://bertel.lundhansen.dk/ http://fiduso.dk/

Kurt Hansen

unread,
Apr 10, 2013, 5:10:42 AM4/10/13
to
Den 10/04/13 10.19, Bertel Lund Hansen skrev:
> Kurt Hansen skrev:
>
>> P.S. Når jeg ændrer <table> til <div>, skal CSS-syntaxen jo følges.

> Det lyder som om du tror at man bare kan udskifte <table> med
> <div>.

I princippet: Ja.

> Så nemt er det ikke.

Det har jeg allerede fundet ud af efter få timer.

> Man skal faktisk designe helt forfra.
> Tabeller holder jo styr på rækker og kolonner, og det styr
> forsvinder når man fjerne tabellen. Så er man nødt til f.eks. at
> give hver række en <p> og så floate dem - men derved får man jo
> ikke næste rækkes elementer til at stå pænt under den
> foregåendes.

Ja.

> Når det hele er forklaret i så generelle vendinger, er det
> umuligt at komme med mere præcise råd - men det skyldes også min
> grundlæggende modvilje mod den slags projekter som du har gang i.

Den modvilje er så småt ved at indfinde sig her oxo. Mit udgangspunkt
var dog positivt: at jeg ville bringe systemet op til "best practise OG
at jeg var villig til at afsætte temmelig meget tid til det.

> Hvis man vil ændre et design, er man nødt til at starte fra
> bunden.

Ja, og så godt kender jeg ikke systemet. Med andre ord: det er halsløs
gerne, har jeg så småt erkendt.

Jonathan Stein

unread,
Apr 10, 2013, 6:45:03 AM4/10/13
to
Den 10-04-2013 05:51, Kurt Hansen skrev:

> Den nuv�rende kode er med sektionerne sat op i tabeller og det vil jeg
> �ndre til CSS, men det vil ikke rigtig fungere.

http://www.avivhadar.com/wp-content/uploads/2009/06/webdesign1.jpg
(bem�rk den gule lagkagebid!)

Jeg ville i f�rste omgang glemme alt om PHP og kigge p� den HTML-kode,
serveren sender til klienten.
N�r layoutet fungerer uden tables, kan du g� tilbage og f� PHP-koden til
at generere den rigtige HTML-kode.

Selve layoutet f�r du nok mere hj�lp til i .clientside gruppen.

M.v.h.

Jonathan

Birger Sørensen

unread,
Apr 10, 2013, 9:37:05 AM4/10/13
to
Kurt Hansen har bragt dette til os:
> Jeg har et trespaltet design i en webshop, hvor administrator kan til- eller
> fravᅵlge menukolonner:
>
> Menu i venstre side: Ja / Nej
> Menu i hᅵjre side: Ja / Nej
>
> Den nuvᅵrende kode er med sektionerne sat op i tabeller og det vil jeg ᅵndre
> til CSS, men det vil ikke rigtig fungere.
>
> Hvis jeg erstatter <table> og <td> med <div> og sᅵtter de samme parametre pᅵ,
> f.eks. width=100, algin=top o.s.v., skulle det vel fungere i en rᅵ og
> upoleret form?
>
> Siden starter med en masse php-linjer fᅵr <DOCTYPE> og der er en masse sjove
> ting i <head>, men pyt med det. Layoutet bestᅵr af en header, en footer og 3
> kolonner midt imellem disse. Lige efter <body> kommer:
>
> <body>
>
> <?php require(DIR_WS_INCLUDES . 'header.php'); ?>
>
> <table class="pageBody">
> <tr>
> <?php
> if (LAYOUT_COLUMN_LEFT_SHOW == 'Ja') {
> ?>
>
> pageBody-tabellen er altsᅵ en wrapper til det samlede areal, hvor een eller
> flere kolonner skal placeres.
>
> Headeren placeres rigtigt (oven over wrapperen), men sᅵ vᅵlter det.
>
> Betingelsen er opfyldt og midtersektionen skal derfor starte med en
> menukolonne i venstre side, hvilket sker ved at oprette en tabelcelle i
> wrapperen og cellen indeholder en tabel:
>
> <td width="<?php echo LAYOUT_COLUMN_LEFT_WIDTH; ?>" class="columnLeft">
> <table width="<?php echo LAYOUT_COLUMN_LEFT_WIDTH; ?>">
> <?php require(DIR_WS_INCLUDES . 'column_left.php'); ?>
> </table>
> </td>
>
> <?php
> }
> ?>
>
> Grundlᅵggende forstᅵr jeg ikke hvordan man kan lave et php-kald inde i en
> tabel, der hverken har <tr> eller <td>, men pyt med det.
>
> Derefter fᅵlger sᅵ indholdet i midterkolonnen:
>
> <div class="content">
> bla, bla, bla ...
> </div>
>
> Mit problem er nu, at indholdet der skulle have vᅵret placeret i venstre
> kolonne i stedet placeres *under* indholdet i midtersektionen.
>
> Hvad er det lige der gᅵr galt?
>
> P.S. Nᅵr jeg ᅵndrer <table> til <div>, skal CSS-syntaxen jo fᅵlges. Eksempel:
>
> <td width="<?php echo LAYOUT_COLUMN_LEFT_WIDTH; ?>" class="columnLeft">
>
> bliver til:
>
> <div style="width=:<?php echo LAYOUT_COLUMN_LEFT_WIDTH; ?>"
> class="columnLeft">
>
> eller ...?

Dit problem er, at det er PHP der genrerer HTML koden. (Derfor er et
rᅵd om at opgive PHP og nᅵjes med at fᅵ HTML'en til at fungere,
malplaceret. Det er i PHP der skal rettes, for at komme af med
tabellerne og erstatte dem med andre HTML elementer.)

Linien
<?php require(DIR_WS_INCLUDES . 'column_left.php'); ?>
kan sagtens stᅵ midt i en tabel. Scriptet column_left.php genererer
formentlig de rᅵkker og sᅵjler (tr og th/td), der skal udgᅵre menuen.

Bortset fra, at det overordnet er en vanskelig sag, at rette andres
kode til, sᅵ den passer til eget behov - og i dette tilfᅵlde faktisk
grundlᅵggende at forsᅵge at ᅵndre pᅵ ting, der ikke er designet til at
blive ᅵndret, sᅵ mangler du (efter eget udsagn - og sᅵ vidt jeg kan se
har du ret -) den fornᅵdne viden om PHP, hvad det gᅵr og hvordan, til
at kunne gennemfᅵre en sᅵdan ᅵndring.
Og jeg tror at de af os, der ved bare lidt om PHP, ville foretrᅵkke at
starte helt forfra, fra bunden - eller at finde noget bedre egnet, i
cyberspace.

Og det er ikke for at vᅵre ubehagelig - for mig at se, spilder du din
tid, pᅵ noget du ikke har en kinamands chance for at gennemfᅵre. (Med
mindre selvfᅵlgelig, at du sᅵtter dig for at bruge opgaven til at lᅵre
om PHP, og formentlig ogsᅵ om databaser. Og selv da, skulle du nok
starte med noget simplere!)

Birger

--
http://varmeretter.dk - billig, sund og hurtig mad
Utils http://sdccms.dk/ordbog/ http://sdccms.dk/mailfriend/
http://bredelund.dk CMS som det var meningen et sᅵdant skulle vᅵre


Kurt Hansen

unread,
Apr 10, 2013, 11:48:25 AM4/10/13
to
Den 10/04/13 15.37, Birger Sᅵrensen skrev:
> Kurt Hansen har bragt dette til os:
>
>> Mit problem er nu, at indholdet der skulle have vᅵret placeret i
>> venstre kolonne i stedet placeres *under* indholdet i midtersektionen.
>>
>> Hvad er det lige der gᅵr galt?

> Og det er ikke for at vᅵre ubehagelig

Sig bare frem. Jeg er ikke sᅵ ᅵmskindet som sᅵ mange andre pᅵ Usenet ;-)

- for mig at se, spilder du din
> tid, pᅵ noget du ikke har en kinamands chance for at gennemfᅵre.

Det har jeg allerede - efter fᅵ timers forsᅵg - indset og projektet er
droppet.

> (Med
> mindre selvfᅵlgelig, at du sᅵtter dig for at bruge opgaven til at lᅵre
> om PHP, og formentlig ogsᅵ om databaser. Og selv da, skulle du nok
> starte med noget simplere!)

Det har jeg haft planer om i ganske mange ᅵr efterhᅵnden, men jeg
skubber hele tiden en mudderbᅵlge af opgaver foran mig, sᅵ det bliver
nok aldrig til noget :-(

Martin

unread,
Apr 10, 2013, 12:57:33 PM4/10/13
to
On 10-04-2013 12:45, Jonathan Stein wrote:
> http://www.avivhadar.com/wp-content/uploads/2009/06/webdesign1.jpg
> (bem�rk den gule lagkagebid!)

Det er godt nok en gammel lagkage du har fundet dig der

N� men, hvad faen jeg bruger ogs� css frameworks*, s� beh�ver jeg slet
ikke t�nke p� alt det der.

Jeg ved at det ser fuldst�ndig perfekt ud i IE7+, Chrome osv osv, s�dan
er det jo med cloud programming hvor 100-vis bruger pr�cis den samme
CSS, og finder man en bug/fejl s� bliver der lavet et issue eller man
kan selv rette fejlen og lave et request pull - s� bliver det fixet, og
bruger man s� ovenik�bet CDN til sit css (ja hvorfor hoste det hele
selv) ja, s� snart requestet er accepteret, s� er din CSS opdateret -
Det dejligt :) - S� det der med at opfinde tallerkenen hver eneste gang
er jeg holdt godt og grundigt op med, det er simpelthen for besv�rligt.

S� min lagkage er 75% af tiden g�r p� hvordan det ser perfekt ud i alle
sk�rmst�rrelser (responsive all the way!) ogs� mobiler/tablets selvf�lgelig.

og de sidste 25% g�r p� at �ndre farver hist og her, men det klarer man
jo ogs� let, n�r det hele k�rer via enten less eller sass/compass, alt
efter hvilket css framework* jeg bruger.

* De 2 frameworks jeg arbejder mest med for tiden er bootstrap
http://twitter.github.io/bootstrap/ og foundation
http://foundation.zurb.com/

Jonathan Stein

unread,
Apr 12, 2013, 2:13:50 PM4/12/13
to
Den 10-04-2013 15:37, Birger Sᅵrensen skrev:

> Dit problem er, at det er PHP der genrerer HTML koden. (Derfor er et rᅵd
> om at opgive PHP og nᅵjes med at fᅵ HTML'en til at fungere, malplaceret.

Hvis du tᅵnker pᅵ mit indlᅵg, sᅵ tror jeg du har overset halvdelen: "Nᅵr
layoutet fungerer uden tables, kan du gᅵ tilbage og fᅵ PHP-koden til at
generere den rigtige HTML-kode.".

- Og det vil jeg fastholde. Hvis man ikke er sᅵ skarp i PHP, bliver det
ufattelig bᅵvlet hele tiden at skulle kontrollere, om PHP'en nu ogsᅵ
genererer det HTML-output, man havde forestillet sig.

M.v.h.

Jonathan

Birger Sørensen

unread,
Apr 13, 2013, 8:23:03 AM4/13/13
to
Jonathan Stein formulerede Friday:
Det var dit indlᅵg, jeg havde i tankerne.
Og alt andet lige, sᅵ *er* det allerede PHP der genererer den anvendte
HTML. Sᅵ det er temmelig umuligt for Kurt, at foretage nogen som helst
ᅵndringer i HTML'en, uden at han gᅵr det i PHP.

Man kan selvfᅵlgelig gemme HTML'en for een af siderne, arbejde med den,
sᅵ den ser ud som vil have det, og derefter, gᅵ baglᅵns og finde stedet
i PHP, hvor HTML koden genereres, og rette den der. Med al respekt for
Kurts evner, sᅵ er han ikke i stande til at gᅵre det selv.
Og hvis du er i tvivl, sᅵ skriv en vejledning til ham om hvordan han
skal gᅵre det...

Jonathan Stein

unread,
Apr 15, 2013, 10:14:08 AM4/15/13
to
Den 13-04-2013 14:23, Birger Sᅵrensen skrev:

> Man kan selvfᅵlgelig gemme HTML'en for een af siderne, arbejde med den,
> sᅵ den ser ud som vil have det, og derefter, gᅵ baglᅵns og finde stedet
> i PHP, hvor HTML koden genereres, og rette den der.

Prᅵcis.

- Og hvis man ikke kan gemme en webside som en lokal HTML-fil og
eksperimentere med den uden PHP, ville jeg slet ikke begynde at gᅵre det
med PHP.

M.v.h.

Jonathan

0 new messages