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