Thread Rostis Framework
(81 answers)
Opened by rosti at 2014-05-09 10:51
Und wieder eine neue Klasse, ein Plugin, kurz und knapp: Ein kleines CMS zum Einpflegen neuer Seiten.
Die Anforderung kam von dabmonitor.de, diese Domäne läuft auch über mein FM, was multidomainfähig ist und derzeit 10 Domänen bedient. Zum CMS gehören 3 Klassen, womit sich 3 verschiedene URLs binden lassen, einer zum einpflegen neuer Inhalte, ein ImageManager und ein Linkmanager. Zum Entwicklen hab ich da schon ein paar Tage gebraucht, aber meine Subdomain perl.rolfrost.de war damit in weniger als 5 Minuten erweitert. Der ContentManager hat nur 214 Zeilen Perlcode, der Imagemanager sogar nur 118 Zeilen. Eine Benutzerverwaltung gehört auch dazu aber die war ja Jahre vorher schon fertig ;) MfG PS: Und weils einfach nur Freude macht, mit diesem FW zu arbeiten, auch als Rentner: Code (perl): (dl
)
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 package Robots; use base main; use strict; use warnings; sub init{ my $self = shift; $self->nocache; } sub data{ my $self = shift; # Disallow sind alle URLs mit dem # Attribut auth my @disallow = (); foreach my $u( keys %{$self->{BIN}}){ push @disallow, $u if $self->{BIN}{$u}{auth}; } $self->{CONTENT} = do{ local $/ = undef; my $content = <DATA>; XR::xr( $content, { host => $ENV{HTTP_HOST}, disallow => [map {{ent=>$_}} @disallow] } ); }; $self->header('Content-Type' => 'text/plain; charset=UTF-8'); } 1;######################################################################### __DATA__ User-agent: * Allow: / Sitemap: http://%host%/sitemap.xml %loop_disallow% Disallow: %ent%%endloop% Diese Klasse erzeugt für jede Domäne automatisch eine robots.txt z.B. . Last edited: 2018-05-17 21:03:46 +0200 (CEST) |