Projekt

Allgemein

Profil

« Zurück | Weiter » 

Revision 64084bfa

Von Sven Schöling vor fast 13 Jahren hinzugefügt

  • ID 64084bfa6ba2c9167ff4a50683606e57fec62167
  • Vorgänger a27dd3ae
  • Nachfolger d0535d47

Vorlagendefault und Vorlagenmetadaten. Siehe Dokumentation.

Unterschiede anzeigen:

bin/mozilla/io.pl
46 46
use SL::IC;
47 47
use SL::IO;
48 48

  
49
use SL::DB::Language;
50
use SL::DB::Printer;
51

  
49 52
require "bin/mozilla/common.pl";
50 53

  
51 54
use strict;
......
1473 1476
    $extension            = 'xls';
1474 1477
  }
1475 1478

  
1476
  my $email_extension = (($form->{media} eq 'email') && (-f "$myconfig{templates}/$form->{formname}_email$form->{language}${printer_code}.${extension}")) ? '_email' : '';
1479
  # search for the template
1480
  my @template_files;
1481
  push @template_files, "$form->{formname}_email$form->{language}$printer_code.$extension" if $form->{media} eq 'email';
1482
  push @template_files, "$form->{formname}$form->{language}$printer_code.$extension";
1483
  push @template_files, "$form->{formname}.$extension";
1484
  push @template_files, "default.$extension";
1477 1485

  
1478
  $form->{IN}         = "$form->{formname}${email_extension}$form->{language}${printer_code}.${extension}";
1486
  $form->{IN} = undef;
1487
  for my $filename (@template_files) {
1488
    if (-f "$myconfig{templates}/$filename") {
1489
      $form->{IN} = $filename;
1490
      last;
1491
    }
1492
  }
1493

  
1494
  if (!defined $form->{IN}) {
1495
    $::form->error($::locale->text('Cannot find matching template for this print request. Please contact your template maintainer. I tried these: #1.', join ', ', map { "'$_'"} @template_files));
1496
  }
1479 1497

  
1480 1498
  delete $form->{OUT};
1481 1499

  
......
1540 1558
  }
1541 1559
  # /saving the history
1542 1560

  
1561
  # prepare meta information for template introspection
1562
  $form->{template_meta} = {
1563
    formname  => $form->{formname},
1564
    language  => SL::DB::Manager::Language->find_by_or_create(id => $form->{language_id}),
1565
    format    => $form->{format},
1566
    media     => $form->{media},
1567
    extension => $extension,
1568
    printer   => SL::DB::Manager::Printer->find_by_or_create(id => $form->{printer_id}),
1569
  };
1570

  
1543 1571
  $form->parse_template(\%myconfig);
1544 1572

  
1545 1573
  $form->{callback} = "";
doc/dokumentenvorlagen-und-variablen.html
331 331
  </table>
332 332
 </p>
333 333

  
334
 <p>Zus&auml;tzlich werden angeforderte Sprache und Druckerk&uuml;rzel in den Dateinamen mit eingearbeitet. So wird aus der Vorlage <code>sales_order.ext</code> bei Sprache <code>de</code> und Druckerk&uuml;rzel <code>lpr2</code> der Vorlagenname <code>sales_order_de_lpr2.ext</code>. Zus&auml;tzlich k&ouml;nnen f&uuml;r E-Mails andere Vorlagen erstellt werden, diese bekommen dann noch das K&uuml;rzel <code>_email</code>, der vollst&auml;ndige Vorlagenname w&auml;re dann <code>sales_order_email_de_lpr2.ext</code>. In allen F&auml;llen kann eine Standarddatei <code>default.ext</code> hinterlegt werden. Diese wird verwendet, wenn keine der anderen Varianten gefunden wird.</p>
335

  
336
 <p>Die vollst&auml;ndige Suchreihenfolge f&uuml;r einen Verkaufsauftrag mit der Sprache "de" und dem Drucker "lpr2", der per E-Mail im Format PDF verschickt wird, ist:</p>
337
 <p>
338
  <table border='1'>
339
   <tr><th>Reihenfolge der m&ouml;glichen Vorlagennamen</th></tr>
340
   <tr><td><code>sales_order_email_de_lpr2.tex</code></td></tr>
341
   <tr><td><code>sales_order_de_lpr2.tex</code></td></tr>
342
   <tr><td><code>sales_order.tex</code></td></tr>
343
   <tr><td><code>default.tex</code></td></tr>
344
  </table>
345
 </p>
346

  
347
 <p>Die kurzen Varianten dieser Vorlagentitel m&uuml;ssen dann entweder Standardwerte anzeigen, oder die angeforderten Werte selbst auswerten, siehe dazu <a href="#allgemein_meta">Metadaten in Vorlagen</a></p>
348

  
334 349
 <small><a href="dokumentenvorlagen-und-variablen.html#inhaltsverzeichnis">
335 350
   zum Inhaltsverzeichnis</a></small><br>
336 351
 <hr>
......
338 353
 <h2><a name="allgemeine_variablen">
339 354
   Allgemeine Variablen, die in allen Vorlagen vorhanden sind</a></h2>
340 355

  
356
 <h3><a name="allgemein_meta">
357
   Metainformationen zur angeforderten Vorlage:</a></h3>
358

  
359
 <p>Diese Variablen liefern Informationen dar&uuml;ber welche Variante einer Vorlage der Benutzer angefragt hat. Sie sind n&uuml;tzlich f&uuml;r Vorlagenautoren, die aus einer zentralen Layoutvorlage die einzelnen Formulare einbinden m&ouml;chten.</p>
360

  
361
 <p>
362
  <table border="1">
363
   <tr><th>Variablenname</th><th>Bedeutung</th></tr>
364
   <tr>
365
    <td><code>template_meta.formname</code></td>
366
    <td>Basisname der Vorlage. Identisch mit der <a href="#zuordnung_dateinamen">Zurordnung zu den Dateinamen</a> ohne die Erweiterung. Ein Verkaufsauftrag enth&auml;lt hier <code>sales_order</code>.</td>
367
   </tr>
368
   <tr>
369
    <td><code>template_meta.language.description</code></td>
370
    <td>Beschreibung der verwendeten Sprache</td>
371
   </tr>
372
   <tr>
373
    <td><code>template_meta.language.template_code</code></td>
374
    <td>Vorlagen&uuml;rzel der verwendeten Sprache, identisch mit dem K&uuml;rzel das im Dateinamen verwendetet wird.</td>
375
   </tr>
376
   <tr>
377
    <td><code>template_meta.language.output_numberformat</code></td>
378
    <td>Zahlenformat der verwendeten Sprache in der Form "1.000,00". <em>Experimentell!</em>. Nur interessant f&uuml;r Vorlagen die mit unformatierten Werten arbeiten.</td>
379
   </tr>
380
   <tr>
381
    <td><code>template_meta.language.output_dateformat</code></td>
382
    <td>Datumsformat der verwendeten Sprache in der Form "dd.mm.yyy". <em>Experimentell!</em>. Nur interessant f&uuml;r Vorlagen die mit unformatierten Werten arbeiten.</td>
383
   </tr>
384
   <tr>
385
    <td><code>template_meta.format</code></td>
386
    <td>Das angeforderte Format. Kann im Moment die Werte <code>pdf</code>, <code>postscript</code>, <code>html</code>, <code>opendocument</code>, <code>opendocument_pdf</code> und <code>excel</code> enthalten.</td>
387
   </tr>
388
   <tr>
389
    <td><code>template_meta.extension</code></td>
390
    <td>Dateierweiterung, wie im Dateinamen. Wird aus <code>format</code> entschieden.</td>
391
   </tr>
392
   <tr>
393
    <td><code>template_meta.media</code></td>
394
    <td>Ausgabemedium. Kann zur Zeit die Werte <code>screen</code> f&uuml;r Bildschirm, <code>printer</code> f&uuml;r Drucker, und <code>queue</code> f&uuml;r Warteschlange enthalten.</td>
395
   </tr>
396
   <tr>
397
    <td><code>template_meta.printer.description</code></td>
398
    <td>Beschreibung des ausgew&auml;hlten Druckers</td>
399
   </tr>
400
   <tr>
401
    <td><code>template_meta.printer.template_code</code></td>
402
    <td>Vorlagen&uuml;rzel des ausgew&auml;hlten Druckers, identisch mit dem K&uuml;rzel das im Dateinamen verwendetet wird.</td>
403
   </tr>
404
  </table>
405
 </p>
406

  
341 407
 <h3><a name="allgemein_stammdaten">
342 408
   Stammdaten von Kunden und Lieferanten:</a></h3>
343 409

  
locale/de/all
347 347
  'Cannot delete quotation!'    => 'Angebot kann nicht gelöscht werden!',
348 348
  'Cannot delete transaction!'  => 'Buchung kann nicht gelöscht werden!',
349 349
  'Cannot delete vendor!'       => 'Lieferant kann nicht gelöscht werden!',
350
  'Cannot find matching template for this print request. Please contact your template maintainer. I tried these: #1.' => '',
350 351
  'Cannot have a value in both Debit and Credit!' => 'Es kann nicht gleichzeitig Soll und Haben gebucht werden!',
351 352
  'Cannot post Payment!'        => 'Zahlung kann nicht gebucht werden!',
352 353
  'Cannot post Receipt!'        => 'Beleg kann nicht gebucht werden!',
......
2197 2198
  'month'                       => 'Monatliche Abgabe',
2198 2199
  'monthly'                     => 'monatlich',
2199 2200
  'new Window'                  => 'neues Fenster',
2200
  'next'                        => 'Nächste',
2201 2201
  'no'                          => 'nein',
2202 2202
  'no bestbefore'               => 'keine Mindesthaltbarkeit',
2203 2203
  'no chargenumber'             => 'keine Chargennummer',
......
2221 2221
  'pos_eur'                     => 'E/ÜR',
2222 2222
  'pos_ustva'                   => 'UStVA',
2223 2223
  'posted!'                     => 'gebucht',
2224
  'prev'                        => 'Vorherige',
2225 2224
  'print'                       => 'drucken',
2226 2225
  'proforma'                    => 'Proforma',
2227 2226
  'project_list'                => 'projektliste',

Auch abrufbar als: Unified diff