/ Forside / Teknologi / Udvikling / Perl / Nyhedsindlæg
Login
Glemt dit kodeord?
Brugernavn

Kodeord


Reklame
Top 10 brugere
Perl
#NavnPoint
bjarneA 141
poul_from 50
soccer 30
Nicknack 14
Tmpj 0
Funktion til at skabe HTML tabeller
Fra : Morten P


Dato : 20-03-09 21:46

Jeg overvejer lidt at bygge mig et perl modul der kan skabe tabeller og
senere formularer mm hvor målet er at man på en perlish måde kan skabe HTML
uden at skulle skrive en eneste linie HTML selv.

Tanken med tabellen skulle være at man gjorde i retning af:


my $TL = new Table;
$TL->table_def('columns'=>3, 'rows'=>2);
$TL->cell(1,1,$content1);
$TL->cell(3,3,$content2);
$html .= $TL->gen_table();


Umiddelbart synes jeg det virker som en fornuftig tilgang, men...
Findes det allerede?
Og er det en fornuftig løsning eller?



 
 
Peter Makholm (20-03-2009)
Kommentar
Fra : Peter Makholm


Dato : 20-03-09 22:30

"Morten P" <spam@spam.spam> writes:

> Umiddelbart synes jeg det virker som en fornuftig tilgang, men...
> Findes det allerede?

http://search.cpan.org/perldoc?HTML::Table

> Og er det en fornuftig løsning eller?

Personligt vil jeg nok foretrække template systemer ala Template.pm,
men der kan være grunde til at gå begge veje.

//Makholm

Adam Sjøgren (20-03-2009)
Kommentar
Fra : Adam Sjøgren


Dato : 20-03-09 22:59

On Fri, 20 Mar 2009 21:45:43 +0100, Morten wrote:

> Jeg overvejer lidt at bygge mig et perl modul der kan skabe tabeller og
> senere formularer mm hvor målet er at man på en perlish måde kan skabe HTML
> uden at skulle skrive en eneste linie HTML selv.

Det seneste skud på stammen, i den dur, jeg har set, er HTML::FormFu:

* http://search.cpan.org/dist/HTML-FormFu/

Det blev startet som en slags afløser til HTML::Widget, som jeg brændte
nallerne lidt på, så jeg har ikke prøvet HTML::FormFu selv. At dømme ud
fra mailinglisten bliver det brugt og udviklet en del.

> Tanken med tabellen skulle være at man gjorde i retning af:

> my $TL = new Table;
> $TL->table_def('columns'=>3, 'rows'=>2);
> $TL->cell(1,1,$content1);
> $TL->cell(3,3,$content2);
> $html .= $TL->gen_table();

Det ligner det der er indbygget i CGI.pm lidt?

"print table({-border=>undef},
caption('When Should You Eat Your Vegetables?'),
Tr({-align=>CENTER,-valign=>TOP},
[
th(['Vegetable', 'Breakfast','Lunch','Dinner']),
td(['Tomatoes' , 'no', 'yes', 'yes']),
td(['Broccoli' , 'no', 'no', 'yes']),
td(['Onions' , 'yes','yes', 'yes'])
]
)
);"

- fra "perldoc CGI"

En anden tilgang til templating (udover de klassiske Mason¹ og Template
Toolkit²) er den Template::Declare tager:

* http://search.cpan.org/dist/Template-Declare/

.... som lød interessant på seneste YAPC::EU, men jeg må med skam erkende
at jeg heller ikke har prøvet det endnu...


Mvh.

Adam


¹ http://masonhq.com/
² http://template-toolkit.org/

--
"We get our thursdays from a banana." Adam Sjøgren
asjo@koldfront.dk

Morten P (21-03-2009)
Kommentar
Fra : Morten P


Dato : 21-03-09 11:09

>> my $TL = new Table;
>> $TL->table_def('columns'=>3, 'rows'=>2);
>> $TL->cell(1,1,$content1);
>> $TL->cell(3,3,$content2);
>> $html .= $TL->gen_table();
>
> Det ligner det der er indbygget i CGI.pm lidt?
>
> "print table({-border=>undef},
> caption('When Should You Eat Your Vegetables?'),
> Tr({-align=>CENTER,-valign=>TOP},
> [
> th(['Vegetable', 'Breakfast','Lunch','Dinner']),
> td(['Tomatoes' , 'no', 'yes', 'yes']),
> td(['Broccoli' , 'no', 'no', 'yes']),
> td(['Onions' , 'yes','yes', 'yes'])
> ]
> )
> );"


hmm, koden fra CGI.pm ligner ret meget HTML kode og jeg ville gerne at man
rent meta agtigt beskriver tabellen, angiver dens og cellernes egenskaber og
stopper indhold ind som i en matrix med indexerede celler.

På den måde skal man intet vide om tabeller og backenden kunne optimeres til
at skabe resultatet i CSS i stedet eller optimeret til mobile enheder

Tak for svaret



Adam Sjøgren (21-03-2009)
Kommentar
Fra : Adam Sjøgren


Dato : 21-03-09 11:43

On Sat, 21 Mar 2009 11:09:29 +0100, Morten wrote:

> hmm, koden fra CGI.pm ligner ret meget HTML kode

Ok, det synes jeg også din kode gjorde - jeg har nok misforstået dit
spørgsmål lidt fordi du skrev "til at skabe HTML tabeller" som emne.

Det lyder for mig _nu_ mere som om dit spørgsmål gik ud på "modellér en
tabel" end "spyt en tabel ud som HTML". Jeg tænkte på det sidste snarere
end det første og mine forslag var farvet deraf.


Mvh.

--
"We get our thursdays from a banana." Adam Sjøgren
asjo@koldfront.dk

Søg
Reklame
Statistik
Spørgsmål : 177577
Tips : 31968
Nyheder : 719565
Indlæg : 6409071
Brugere : 218888

Månedens bedste
Årets bedste
Sidste års bedste