mm_forum 2.0

3,516 views

Published on

Published in: Technology, Health & Medicine
0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total views
3,516
On SlideShare
0
From Embeds
0
Number of Embeds
19
Actions
Shares
0
Downloads
4
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

mm_forum 2.0

  1. 1. mm_forum 2.0Neu-Entwicklung der mm_forum-Erweiterungauf Basis von Extbase und FluidMartin HelmichMittwald CM Service
  2. 2. Worum geht es?• Was ist das mm_forum eigentlich?• Was ist neu im mm_forum 2.0?• Ein Blick „unter die Haube“
  3. 3. Wie alles anfing...
  4. 4. Warum das alles? TYPO3 v4 TYPO3 v5 TYPO3 TYPO3Extbase FLOW3
  5. 5. Was ist neu? solr indexed_search Suche sr_feuser_register Benutzer- registrierung Messaging Messaging Forum Forum Monolithisch Modular
  6. 6. Was ist neu?Neue Funktionen• Verschachtelte Foren• Differenziertere Rechteverwaltung
  7. 7. Was ist neu?• Modularer Aufbau, mit Integrations- schnittstellen zu anderen Extensions• Basierend auf Extbase und Fluid
  8. 8. Was ist neu?
  9. 9. Was ist neu? Zum selbst ausprobieren: http://mmforum.mittwald.de
  10. 10. Ein Blick unter die Haube...• Extbase als MVC- Framework nimmt Eingaben entgegen gibt aus View Controller Benutzer gibt ein Stellt dar verarbeitet Eingaben Model
  11. 11. Ein Blick unter die Haube...• Extbase als MVC- Framework• Fluid als Template- Engine
  12. 12. Das Domain-Model ShadowTopic Forum Topic #subject #posts[] Post #closed #sticky FrontendUserGroup Attachment FrontendUser
  13. 13. Das Domain-Model
  14. 14. Das Domain-Modelclass Tx_MmForum_Domain_Model_Forum_Forum extends Tx_Extbase_DomainObject_AbstractEntity { /** * @var string */ protected $name; /** * @var string */ protected $description; /** * @var Tx_Extbase_Persistence_ObjectStorage <Tx_MmForum_Domain_Model_Forum_Topic> */ protected $topics;
  15. 15. Das Domain-Model AbstractRepository ShadowTopic ForumFrontendUserGroup Topic ForumRepository FrontendUser Post TopicRepository Attachment PostRepository Verwendung von Repositories zur Kapselung des Datenbankzugriffs
  16. 16. Die Controller AbstractController ForumController ShadowTopic Forum TopicController FrontendUserGroup Topic PostController FrontendUser Post UserController Attachment
  17. 17. Fluid-Views<f:for each="{topics}" as="topic"> <f:cycle values="{0: odd, 1: even}" as="zebra"> <tr class="tx-mmforum-{zebra}"> <td style="width:1px;"> <mmf:forum.topicIcon topic="{topic}" width="32" /> </td><td> <f:link.action controller="Topic" action="show" arguments="{topic: topic}"pageUid="{settings.pids.Forum}">{topic.subject}</f:link.action> </td><td> <f:link.action controller="User" action="show" arguments="{user :topic.author}"pageUid="{settings.pids.UserShow}">{topic.author.username}</f:link.action> </td><td> {topic.replyCount} </td><td> <f:render partial="Post/Summary" arguments="{post: topic.lastPost}" /> </td> </tr> </f:cycle></f:for>
  18. 18. Fluid-Viewsclass Tx_MmForum_Controller_ForumController extends Tx_MmForum_Controller_AbstractController { […] protected $topicRepository; […] public function showAction( Tx_MmForum_Domain_Model_Forum_Forum $forum) { $topics = $this-> topicRepository->findByForum($forum); $this->view->assign(topics, $topics) ->assign(forum, $forum); }}
  19. 19. Fazit Mitmachen: http://forge.typo3.org/projects/show/ extension-mm_forum_2
  20. 20. Vielen Dank! Vielen Dank für Eure Aufmerksamkeit!www.mittwald.deblog.mittwald.detwitter.com/mittwaldfacebook.com/mittwald

×