Thread Innerhalb Hash Def auf Keys zugreifen
(42 answers)
Opened by bianca at 2013-09-08 06:08
Hallo, Bianca,
komme nicht ganz mit, aber habe das Gefühl vielleicht schon ein ähnliches Problem formuliert zu haben: 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 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 # Im Modul $Self->{'MetaHash'} = 'artikel' => { "id" => { '_proto_' => "idunsigned", }, "reldate" => { '_proto_' => "date", '_default_' => '0000-00-00', }, "typ" => { '_proto_' => "enum", '_default_' => "unknown", 'set' => ['unknown','article','page','quelle','keyword'], }, "autor" => { '_proto_' => "textonly", 'length' => 40, '_default_' => "gf", }, } }; # config systemweit erreichbar my %META_protos = ( 'idunsigned' => { '_select_' => ' _tabfield_ ', '_isindex_' => 'true', '_noinsert_' => 'true', '_noupdate_' => 'true', }, 'date' => { '_select_' => " _tabfield_ ", '_default_' => sub { Sitescriptor::Core::Libs::Data2html::get_sqldate( @_ ); }, '_export_' => sub { Sitescriptor::Core::Libs::Data2html::export_date( @_ ); }, 'year' => {'_select_' => ' YEAR( _tabfield_ ) ', '_default_' => sub { Sitescriptor::Core::Libs::Data2html::get_now_year( @_ ); }}, 'month' => {'_select_' => ' MONTH( _tabfield_ ) ', '_default_' => sub { Sitescriptor::Core::Libs::Data2html::get_now_month( @_ ); }}, 'dayofyear' => {'_select_' => ' DAYOFYEAR( _tabfield_ ) ', '_default_' => sub { Sitescriptor::Core::Libs::Data2html::get_now_dayofyear( @_ ); }}, 'dayofmonth' => {'_select_' => ' DAYOFMONTH( _tabfield_ ) ', '_default_' => sub { Sitescriptor::Core::Libs::Data2html::get_now_dayofmonth( @_ ); }}, 'dayofweek' => {'_select_' => ' DAYOFWEEK( _tabfield_ ) ', '_default_' => sub { Sitescriptor::Core::Libs::Data2html::get_now_dayofweek( @_ ); }, 'day-de' => {'_select_' => ' ELT( DAYOFWEEK( _tabfield_ ), "Montag", "Dienstag", "Mittwoch", "Donnerstag", "Freitag", "Samstag", "Sonntag" ) ', }, 'diffyear' => {'_select_' => ' (YEAR(NOW()) - YEAR( _tabfield_ ))',}, 'month_de' => {'_select_' => ' ELT( MONTH( _tabfield_ ), "Januar", "Februar", "Maerz", "April", "Mai", "Juni", "Juli" , "August" , "September" , "Oktober" , "November" , "Dezember" ) ',}, 'date-combined-de'=>{'_select_' => ' DATE_FORMAT( _tabfield_ , "%d.%M.%Y" ) ',}, 'date-short-de' => {'_render_' => ' --date-short-de:_import_-- ','_select_' => ' DATE_FORMAT( _tabfield_ , "%d.%m.%Y" ) ',}, }, 'textonly' => { '_select_' => " _tabfield_ ", '_render_' => sub { Sitescriptor::Core::Libs::Renderhtml::mysqltext_to_html( @_ ); }, '_default_' => "", }, 'set' => { '_select_' => " _tabfield_ ", }, ); Zum Beispiel: Ich suche für ein leeres neues Formular den Defaultwert "_default_" von "artikel.reldate.year" und erhalte '2013', weil '_proto_' auf den Prototypen "date" verweist. Wenn ich nur die Jahreszahl aus der Datenbank haben will, frage ich nach "_select_" von "artikel.reldate.year" und erhalte ' YEAR( _tabfield_ ) '. '_tabfield_' wird mit realem Tabellennamen und Feldnamen ersetzt 'ep_artikel.reldate', 'artikel'. Vielleicht kann man das auf Dein Problem übertragen oder ich hab´s gar nicht kapiert... |