mostly filebased Content Presentation System
Du kan inte välja fler än 25 ämnen Ämnen måste starta med en bokstav eller siffra, kan innehålla bindestreck ('-') och vara max 35 tecken långa.

51 lines
1.2KB

  1. <?php
  2. namespace Modules;
  3. class CPublication extends ContentType {
  4. public $keys = array(
  5. 'TITLE' => 'title',
  6. 'ARTIST' => 'artist',
  7. 'DATE' => 'date',
  8. 'IMAGE' => 'img'
  9. );
  10. public $values;
  11. protected $layout;
  12. protected $layouts = array(
  13. 'default' => 'view_in_toc',
  14. 'toc' => 'view_in_toc'
  15. );
  16. function __construct($keys,$config) {
  17. parent::__construct($keys,$config);
  18. }
  19. function simple() {
  20. return sprintf("sdsd");
  21. }
  22. function view_in_toc() {
  23. $f3 = \Base::instance();
  24. $v = (object) $this->values;
  25. $img = new CachedImage($this->config['path'].$v->img);
  26. $img_html = sprintf('<img src="%s" alt="cover art" />', $img->get_src(1000));
  27. return sprintf(
  28. "<div class=\"contentTypeElement publication\">"
  29. ."%s"
  30. ."<h2><a href=\"/%s\">%s</a><span class=\"artist\">%s</span>%s</h2>"
  31. ."</div>",
  32. $img_html,
  33. $this->href,
  34. $v->title,
  35. $v->artist,
  36. $v->date ? '<span class="pubdate"> - '.$v->date.'</span>' : ''
  37. );
  38. }
  39. }