Direct Mail Salutation based on tt_address Contact Form FAQ - Frequently Asked Questions Frontend news submitter Responsive Images"Page not found" handler+AOE Linkhandler Configurator1-Click-Login360 degrees shots360° image rotation4-3-feature-example404 Handler404 Page not found handling404 sponsoringA Better Tag CloudA Google Maps GLayerA Google Maps GPolygonA Google Maps GPolylineA-Z Keyword ListAccessibility Glossaryad: Adaptive Imagesad: Google Mapsad: Google Maps Plugin Addressesad: Google Maps Plugin Frontend Usersad: Google Maps Plugin KML-Layerad: Google Maps Plugin Poly-Layerad: LESSad: Social Share Privacyad: Templavoila Cyclead: Templavoila Tabsad: Twitter BootstrapAdaptive ProfilesAdditional attributes for tx_formAdditional TCA FormsAdditional Templavoila SysfolderAddons to tt_productsAddress list for cal eventsAddress List MultilangAddress ManagementAddress visualization with Google Maps and tt_addressaddressgroupsAddThis Social SharingAdmin messageAdmineradON Base DistributionAdv. cal partner integration Advanced Address-List Advanced Banner ManagementAdvanced Caching APIAdvanced FORM objectAdvanced Frontend EditingAdvanced sitemapsAdvanced Template EngineAdvent calendarAgency RegistrationAgency Registration for tt_addressagoraajado inline galleryAjax ChatAjax FE loginAjax mail subscriptionAjax MapAJAX Search EngineAjax Sitemap (kn_sitemap)Ajax Tabbed Google SearchAJAX user loginAjaxifier for TYPO3Akismet for CommentsAkismet for TIMTABAlias for tt_contentalohaAlpha sitemapAlternate selector (Tag Pack)Alumni ListAmazing LESSAmazon S3 FAL Driveramazon_affiliateAND ShadowboxAOE advanced realurl pathAOE Advanced TYPO3 TablesAOE IPauthAOE linkhandlerApache Nutch for TYPO3Apache Solr for TYPO3 CMSApache Solr MediaWiki IndexerApache Solr Redmine IndexerApache Tika for TYPO3Appointment SchedulerARM Google MapARM ShopAsdisAST FlashAtom Feed PublisherAuth Against TYPO3AuthenticatorAuto GroupAuto grouping sitemap and menuAuto-generated baseUrlAutocomplete for indexed_searchautomaketemplateAutomatic base urlAutomatic Country-To-Language Mapping (GeoIP)aux_newsmailer_split_catAwareness FrameworkAwStatsBack-link content elementBackend ACLsBackend Cache using Zend Data CacheBackend Changelog barBackend CookiesBackend demonstrationBackend login captchaBackend SimplifierBackend User AdministrationBackend user rolesBadges for FE usersBallroom Dancing ExampleBanner-ManagementBannercodesBarcode GeneratorBarschedulerbase BAT-Berlinbase HfS-BerlinBasic site setupBasic Template for Job Marketbasketball-bund.net - import 2Batch MailerBB Language SelectBe groupsBE User Password ResetbeautyOfCode SyntaxHighlighterBeNewsbetatext text commentingBetter ContactBetter Downloads for tt_newsBetter FlexformsBetter TabsBFV widgetbgm hreflangbibBibTex publication listBibTex PublicationsBin TS-TemplatesbinumohanbitsGallerybitsofficeBlogBlogsBMI CalculatorBMI CalculatorBook ReviewBooklets - Brochure OrderingBootstrap for TYPO3 (bootstrap_core)Bootstrap Integration for FSCBootstrap Kickstart PackageBootstrap responsive imagesBootstrap Styled ContentBridge LibBridge XML RenderingBridgle Lib Ext Js GuiBrowser: TYPO3 without PHPbrute force protection for feloginbxSlidercab language linkCache CleanerCache ExpireCache Expires for tt_contentCache Management ExtensioncacheinfoCaddy - TYPO3 Shopping Cartcal base day descriptioncal base location grid viewcal fe ajax interfaceCalDAVCalendar BaseCalendar Base +BrowserCalendar Base Introduction PackageCalendar DisplayCalendar using extbaseCalendarizeCall for PapersCamaligaCapshop3Captcha View HelperCaretakerCaretaker Password CrackerCartCartPaypalCAS ReservationCatalogue RaisonnéCategoriescategories_importipsvCategorizationcb_indexedsearch_autocompleteccco_shoutboxCCDebugccfcdnfilescenoshopce_gallerycHash ToolsChecklistsChristof HagedornChristoph FuchsChrome Extension: Clear CachesChrome Extension: Fast TYPO3 Backend switchCinemacivservClean /typo3temp directoryCleanerClear cache clickmenu itemsClear cache recursiveClear Cache RequestClear Processed ImagesClear TYPO3-cacheCli CleanercliinstallClosure CompilerCloudFlare ClientCMISCMP3 - Cross Media Publishing for TYPO3CMP3 DemoCOA_GOcObj CacheCode highlight for tt_newsCode SnippetsComicGalerieCommenting system (comments)Comments Backend ModuleComments PlusComments: fe_user connectorComments: individual closingComments: IP blockingComments: jQuery codeComments: report bad commentcommerceCommerce add articles to basketCommerce advanced productsCommerce CouponsCommerce DAM connectorCommerce first categoryCommerce ImporterCommerce minimum order quantity for articlesCommerce SearchCommerce SEO fieldsCommerce Translation StatusCommerce_EXTcommonTSCommunityCommunity Flexible Layoutcondition notusergroup Config, Metatag & SEO FeaturesConfigure WebsiteConnector ServicesConnector Services - CSVConnector Services - JSONConnector Services - SQLConnector Services - XML/RSS FeedContactsContacts listcontaggedcontainerContent AccessContent Access Per UserContent DesignerContent elements overviewContent ParserContent ReplacerContent SlidingContent StagingContent TableContent with PageBrowser Context ManagerContrast SwitchCookie ControlCookie ManagercooluriCoolURI Page URLs BE ModulecoolURI: Clear cacheCore APICoreUpdateCoverFlow for contentcrawlerCreate Page Tree WizardCrop and Square ThumbnailsCross Google AdsenseCrowdCrowd AuthCSS styled FilelinksCSS to inline convertercss_styled_imgtextCSV DisplaycurlcontentCustom login skincwt_communityCyberPeaceDAM Amazon S3 uploadDAM AssetsetsDAM Download PluginDAM LightboxDAM SchedulerDAM Templavoila ConnectorDam tt_newsdam_crondam_demoDance-ClubDashboardDAT User Management by SOAPData Display EngineData FilterDatabase SequencerDataViewer ExtensionDate Selector LibraryDatec BlogDatec LosungenDB IntegrationDeactivate opcode cache checkDeal! And TYPO3 can ebay and immobilienscout24.deDeal! ebay values for marketplace Germany/77Deal! ebay values for marketplace US/0Decos Publisherdelete_staticfile_by_3partyDeploymentDeprecation Helperdev/null address and mapsdev/null Eventsdev/null jQuery countdowndev/null robots.txtdev/null webmastersDeveloper Garden Conference Call ExtensionDeveloper Garden Send SMS ExtensionDeveloper libraryDeveloper logDeveloper toolsDeveloper's Logdf_tabsDIGITAGE | SlideshowDigital Asset Management (DAM)Direct MailDirect Mail CompanionDirect Mail HTML viewDirect Mail SalutationDirect Mail SubscriptionDirect RequestDirectoryDisplay ControllerDisplay Controller DebuggerDisqus Commentsdkd_staticuploaddkd_staticupload_scpdkd_staticupload_winscpdkd_toolsdkd_xmlimportdns_managerDoctrineDocumentsDomain checkDomain ManagementDomain Model ExtenderDomain Models for ExtbaseDonationsDownload CenterDownload Explorer (download_explorer)DR Wiki - TYPO3 WikiDragdropDRC News CommentDRC Product Advertisementdreipunktnull glossaryDropbox APIDropbox FAL driverDutydynaflexDynamic Column displayDynamic Content Elements (DCE)Dynamic CSSDynamic email target for formhandlerDynamic Google SitemapDynamic MetadataDynCSS compassEasy route plannerEasylogin with OpenID, OAuth, etc.eBook with turn.jsEcommentsECSSteamEfA Font SizeeGov APIEmail Address Subscriptionemail2powermailEmbed Content in tt_newsEmogrifierEnhanced Media ElementEntree AuthenticationEnvironment BannerEPiServer to TYPO3ESAPI for TYPO3Essential Dots DAM category sortEssential Dots DAM galleryEtherpad Content ElementEvent browserEvent CalenderEventsevo_nginx_boostExiftoolExport ke_statsExport to WordExport tt_products to MagentoExpressions sandboxEXT:webdav based on SabreDavExtbase DAM accessExtbase HijaxExtbase PagerExtbase Persistence ReworkExtbase Solr Storage BackendExtbase Static Info TablesExtbase Validation with TypoScriptExtbase WebservicesextdevevalExtended LinksExtended TCEMAIN.clearCacheCmdExtended webdav extension (gsoc 2011)extensible sitemapExtension BuilderExtension GeneratorExtension Integrity CheckExtension ToolsExtension zu EZB und DBISExternal ImportExternal Import TutorialExternal Providers for Direct Mailextjsextracacheextrepextrep_mgmFacebook Comments for newsFacebook ConnectFacebook OpenGraphFacebook pluginFacebook Social PluginsFacebook: Social PluginsFacebookConnect - The Amazing WayFaceted SearchFAL Amazon S3 DriverFAL AWS CF SupportFAL AWS S3 DriverFAL CIFS driverFAL Dropbox DriverFAL FTP DriverFAL GalleryFAL IndexingFAL Local XT DriverFAL Rackspace Cloud FilesFAL Remote ProcessingFAL sftp Driver (DEPRECATED)FAL test driverFAL WebDAV DriverFancybox 2.0 - The Amazing Wayfdfx_2colsfdfx_3colsfdfx_beimagefdfx_svnFE Address editFE Edit for multicolumnFE IP-AuthenticationFE IP-AutologinFE Login DebuggerFE User ManagementFeature Flags for TYPO3Feed ImporterFeed ReaderFeedbackFeedback / Comments / GuestbookFeedForwardFeManager - TYPO3 Frontend User RegistrationFEUser - BELoginFeuserloginsystemfeusermanagementfile based DataStructuresFile ExplorerFile Explorer CheckFile handlingFile ListFile ListFile ManagerFile PageFile search toolFilelinks DAM usagefire debugfire devlogFire Fighter ManagerfkuwebsliceFlash Ajax Video PlayerFlash Player IntegrationFlexFlexform based IFrameFlexible content elementFlexible content elementsFlickr Imagesflickr SetFlip it!Flip it! - ResourcesFluid - ViewHelperFluid Debugging ViewHelpersFluid layoutFluid mailerFluid MicrositeFluid PaginateFluid PDF viewFluid pibaseFluid RecommendationFluid-based Data DisplayFluid-Template-Manager (FTM)Fluid: Website TemplateFLV Player 2Font sizerForce 404 languageForce Realurls 2format TYPO3 ToolsFormhandlerFormhandler BackendFormhandler on FluidFormhandler PaymentFormhandlerGuiFormidableFORMidable DB m:m data handlerformsFoundation 5FPDFFramed YouTubeFre!freeCap CAPTCHAfreecap_readFreesh EventsFront End User RegistrationFrontend change passwordFrontend DashboardFrontend FilemanagerFrontend MediaFrontend NewsFrontend Shibboleth ProtectionFrontend TreeviewFrontend UploadFrontend user autologinFrontend user master loginFrontend User Profile & RegistrationFrontend User Registrationfrontendformslibfr_portfolioFSC Layout WrapFSC Responsive MediaFULLTEXT for indexed_searchGabrielGalleriaGalleria Plugin for TYPO3Gallery2geckoboardGeko Typo3 FrameworkGeneral data displayGeneric Domain ModelsGeneric expression parserGeneric GalleryGeneric Layar Service ProviderGeneric MailerGeolocateGeotargeted BannerGerman Bank Identifier CodesGerman date format: feuser_regGestion de membresGestion des publicationsGestion des thèsesGet values from FlexFormsGetCachesgForumGH AccordionGH Change Font SizeGH Disclaimer RedirectGH List SubscribeGH Multi TagGH Random ContentGimme Five!gkh RSS ImportGliderGlobal Weather WSGlossar der UB KaiserslauternGMap 3Golb - Blog The Page WayGoogle AnalyticsGoogle AnalyticsGoogle Analytics IntegrationGoogle CalendarGoogle MapsGoogle Maps APIGoogle Maps API ExtbaseGoogle Material Design LiteGoogle PagespeedGoogle plusGoogle Plus One for tt_newsGoogle Query Data ProviderGoogle Site SearchGoogle Site SearchGoogle sitemapGoogle Store LocatorGoogle Tag Manager Gorillary Gallerygov_masterconfiggraytreeGrid Elements (former official tracker) - now moved to Gitlab!Grids for Bootstrapgroupdelegationgruene-autos.orgGS Favicon for Bootstrap PackageGSA Admin (pt_gsaadmin)GSA Article ListGSA CategoriesGSA Dunning (pt_gsadunning)GSA Shop (pt_gsashop)GSA Socket (pt_gsasocket)GSA Standalone DatabaseGSA Stock (pt_gsastock)GSA User RegistrationGuest BookguestbookGuidepostHappy Feet Footnotesheads listHernnhuter LosungHigh Performance Plugin SystemHipChatHomehookerhr_vbulletin_connectHTML ImportHTML to PDFHTML-based Data ConsumerHTML5 BoilerplateHTML5 Media fallbackHTML5 Media tagsHTML5 Video Playerhtml5videoHTTP 301 Redirect For DummieshubicHut-ManagerHWT ResubmissionHybridAuthHypeHype BaseHype DirectoryHype ErrorHype GridHype HTML5Hype StoreHyphenator for TYPO3Hyves FeedICE PackIcon fontICS AWStatsID: SalesforceIgbinaryImage Flow GalleryImage galleryImage GalleryImage Lightbox v2Image OptimizerImage Processing via ImagickImage ResizerImage with Multimediaimage-text editviewImagemap WizardImmowelt Extbase APIImport ManagerImportrImproved FE login securityImproved overlaysin2facebookin2rssin2snippetsIncident Handling SystemIndexed Search mmforum hookIndexedSearch crawler for tt_newsIndexedSearch crawler for tt_news incl rendered contentInfinite Scroll GalleryInfoBlockInsert Link Addon for Bootstrap Internal note tooltipIntroduction PlusInventoryIP-range for Admins/Be-useriPhone Routingirfaq - Modern FAQIRRE element for tt_newsIRRE Tutorialissuu.com Flip PDFsITAW GigdisplayerITS pdf GeneratorIVW PixelIVW TagsIwImmo JasmineJavascript and CSS Optimizer Javascript Language LabelsJavascript Localization JavaScript-Testerjb_realurl_regenerationJCC Appointment ModuleJettsJH Captchajk_pollJob FairJob MarketJokers Mobilejoliprint buttonjpCarouseljpFaqjQuery autocompletejQuery ColorboxjQuery Content ToolsjQuery LightboxJQuery Mobile fluid templatesjQuery.popeyejQueryMobilejsr170repo_demojsr170supportjulle_eventsJW PlayerJW Player as media elementK23 Image CropKaltura Video PlatformKarussell: a jQuery galleryKB PackmanKB Page Icon kb_configkb_displaykb_imageeditkb_kickstarterkb_shopKDE vfske DomPDFKerio Mailserver Integrationkeyword menuke_contactske_forumke_forum_notificationske_questionnaire (RE-BAKE)ke_UserregisterkickstarterkickstartermvcKIWI Gig ListerKIWI PopupKlicktrieb Frontend FilemanagerKSS Responsive Gumby TemplateKurz FieldsL10N ServerLanguage File EditorLanguage SelectionLanguage selectorLanguage SuggestionLanguage switchLanguagevisibilityLanguagevisibility support for extensionsLDAP / SSO AuthenticationLDAP Authentication ServiceLDAP Core LibraryleafletLibrary (based on extbase)Library for FE-Plugins (Div)Library for Frontend PluginslibunzippedLiga64LightcaseLinkcheckerLinkedin LinklayoutLinklistLinkvalidator for TemplaVoila!List CalendarList Categorized PagesList generator (pt_list)list reloadedListmodule AdvancedllxmltranslateLO BackendhelperLO T3Blog template-basedLoadbalanced Downloadslocal company search and viewLocal filesystem FAL driver CDNLocalization Manager (l10nmgr)Locking AdminLog Backend ModuleLog ExampleLogical FormLogin AsLogin limitloginusertracklogitLogWriter for E-MailLogWriter for FirePHPlonewsaddressLorem IpsumLotus Notes BasisLotus Notes NewsLotus Notes SearchLowlevel tasksLucene Workshop ExtensionLumoNet Google MapsLumoNet ImmoScout ExposeLumoNet PHP IncludeLunch Menu SystemMagazine Style ImagesMagentoMagento Auto SignonMagento category menuMagnific PopupMagnific Popup - Hook ExamplesMail encryption for TYPO3 form handlersmail2newsMailChimp SubscribeMailformMailform new generationMailformplus MVCmaillisttofaqMaintenanceMantis ConnectorMap of User Profile ImagesMarch 8: The worker's women framework for TV!MarketplaceMarkets/Countries inside TYPO3Maskmask_exportMathGuardMB :: Frontend User LoginMB Image Gallerymbi_products_categoriesMedia CenterMedia ManagementMedia TeamMediaboxMediaElementsMediaViewHelper for kt_fefmMember InfosheetsMemcached DiagnosisMemoListmenuMenu BalancerMerge plugin flexformMessage QueueMeta Fe EditMetadata and content analysis serviceMetadata in TSMetaSEO - TYPO3 SEO Enhancementsmfc_authormfc_canonicalmh_branchenbuchmh_simplegalleryMicrosoft Web AppMigrationsminiCRMMinifier for TYPO3MinifymininewsMK A/B TestingMK DAM2FALMK FormsMK LibMK LogMK MailerMK PHPIDSMK SanitizedparametersMK Toolsmklv_communitymksearchml_dbsyncMM BirthdaygreetingMM Clean filelinkMM DAM ChangeInfoMM DAM FileListMM ECL - ExtensionClassLibraryMM Property ManagerMM ReferenceListMM-tables Providermmforeignmm_forummm_forum 2.0mm_forum Import modulemm_forum Messenger v2mm_forum post anonymizermm_forum_blogmm_forum_commentsmm_forum_newsmnoGoSearch Full-Text SearchmnoGoSearch: URL ParametersMobile App FactoryMobile BackendMobile DetectorMobile devices detectionMobile HelperMobile RedirectMOC Varnishmoc_filemanagermodernpackageMoneylibMonoslideshowMooFlow V0.2 integrationMooslide - a mootools tickerMootools image sliderMOOX Bootstrap ResponsiveMOOX MailerMOOX News & Blog SystemMost popuplar news with maxAgeMouse Over Effects for ImagesMOVED TO https://github.com/georgringer/newsMovie DatabaseMovie Database (tmd_movie)MP3 Audio Player APIMS Ajax Content LoaderMT System Szablon [MT Tempalte System]Multi Server WorkflowMulti-channel contextsMulticolumn for the page moduleMultidomain PublishingMultimedia DAM usageMultimedia gallery based on adgalleryMultimedia w/FallbackMultiple Action FormsMultishopmusicviewMVC + ExtJSMVC + ExtJS samplesMVC BaseMVC News ExampleMW Imagemapmw ShellmwcsvMy quiz and pollMy TYPO3MySQL ProfilerNAViTiA Librarync_cu3erNested Content ElementsNetBrothers DownloaderNetresearch Content Delivery Network HelperNetresearch Easy WorkspacenewloginboxNews 2 Direct MailNews 404News eventNews EventsNews FalNews RSS ImporterNews to eventsNews to Facebook IntegrationNews- Blogsystemnews2forumNewscalendarNewsletterNewsletter SubscriptionNewsletter SubscriptionNewsletter via news (tt_news)news_packNexusnh_shared_ceNITSAN HelloBar, <br> An API Plugin of HelloBar.comNittygrittyNivo SliderNN AddressNNTP-ReaderNova ShadowboxnsvpingbacksNumber as Usernamenwt_replacerNxExtbasePdfoblady debugODS commerce deliveryOfficial Twitter tweet buttonOLC FlightsOne-time FE AccountOnline ProcessesOnline Vital StatisticsOpen Graph ObjectOpen Graph protocolOpendataOpenStreetMapOperationsOrg +npz.ch - bookingOrganiser +ReferencesOrganiser +RepertoireOrganiser +WorkshopsOrganiser - responsive TYPO3 for the lobbies and the organisersOrganiser - TemplateOrganiser Installer - TYPO3 for the lobbies and the organisersOverlay-BoxPAE Media LibraryPage BookmarkPage CommentsPage module CSSPage pathPage Teaser (with Fluid)Page tree toolsPagebrowserPagecollectorPagehits: HistoryPages categorizationPages Tree iconsPagewizardPaginatePartner ManagementParty Information FrameworkPAS3Password Expiry and ResetPassword Managerpasswords for mm_forum threadsPatenschaftenPayment Transactor APIpaymentlibPaymentlib for commercePaymentlib for CommercePayPal seminars integrationpaypal2commercepbimagegraphpbsurveyexportpbsurveystatisticspChart charting library integrationPDF ArchivPDF Controller 3PDF Viewerpdf viewerpdf_generator2pear mailPedanticPeimic's RealURL ConfigurationPerfect LightboxPerformance graphs for TYPO3Person ManagerPersonalize contentPersonalized Direct Mail SubscriptionPetitionPhamlpPhonegapphoto galleryphotocompetitionPHP Quick ProfilerPHP-based Data DisplayPHPIDS nextGen PHPlot IntegrationphpMyAdminphptalPHPUnit CLI interfacePicasaweb IntegratorPITS Google CSEPits Site Statisticspit_googlemapsPiwikPiwikintegration in TYPO3Placement ServicePlaintext LibraryPlugin cache analyzerPlugin cache enginePlUploadPlupload for FEPluploader Frontendpm Todo PMK "I hate IE"PMK AutokeywordsPMK Cat2MenuPMK Forced DownloadPMK GlossaryPMK Index Search AutocompleterPMK MP3 Player PMK News TwitterPMK ShadowboxPMK SlimboxPMK TSVoilaPongbackPopular pagesPositionerPostFinance E-PaymentPostfixpowermailPowermail ajax submitPowermail div classPowermail JqueryPowermail LimitPowermail PDFPowermail Salesforce integrationPowermail-Limit 2powermail_condpowermail_frontendpowermail_mulpowermail_optinpowermail_sendpostPresentation MenuPrivacy GuardPrize drawProduct CatalogProject ReferencesProject SummaryprotocolCreatorPS3 Trophyspt_extlistpt_jqueryuipt_objectstoragept_xml2pdfPublication databasepunkt.de Tools (pt_tools)punycodepurgepush2rss_3dspwComments captchapwComments pluginpw_commentsQm BackendLayoutQR-CodesQuestionaireQueue frameworkQuick Shop InstallerQuick Shop StockQuick Shop TemplateQuick Shop – responsive E-Commerce with TYPO3QuickyQype ListRabbitMQRadial Search (Umkreissuche)Random bannersRandom Files SortingRating AXRatingsReadSpeakerReadspeaker for TYPO3Realty managementRealURL Manag. module-add ex.RealURL ManagementRealURL PatchRealURL: Clear cachereCAPTCHARecaptchareCAPTCHA for EXT:commentsRecaptcha for formrecentcontentRecord LinkRecord list previewRecord tree for TCARecords management in a BE moduleRedirectRedirect and logRedirect FE-User at LoginRedirect LinkhandlingRedirect URLRedirect via TyposcriptRedirectorRegisterregister4calRelational Link ElementsRelax!Remote ServerRemote Survey ProjectReset backend passwordReset CSSResize images automaticallyResponsive PreviewResponsive previewResponsive TemplateResponsive TYPO3REST clientREST client UIreturn mail analysisrgnewscerg_smoothgalleryRijksoverheidrlmp_tvnotesRobotsRole Based Access ControllRoles 2RoundCornersRouteRPX LoginRS | Advanded TYPO3 LockingRS | Extbase (tt_)AddressRSS DisplayRSS News Feedrssmanager rteRTE anchorsrtp_smartySafe Record EditingSalted pw for sr_feuser_reg.Salted user password hashesSASS CompilersatsumasSAV Library KickstarterSAV Library MvcSAV Library PlusSB DownloaderSB FAQSB FolderdownloadSB PartnerSB PortfolioSB Portfolio 2Scheduler via HTTPScoop.ItscriptaculousscriptmergerScriptmerger BlessscriptsSDU ConnectSearch engine (mnogosearch)Search Engine OptimizationSearchmetrics Content ComposerSecure DownloadSecure DownloadsSecure DownloadsSecure Downloads for FALSecured files using mod_rewriteSecurity CheckSeitwert StatisticsSelf TestSemantic TemplatesSeminar managementseminars ke_yac connectorseminars/cal redirectSend-A-CardSEO BasicsSEO BuddySEO Dynamic Tag 3SEO Pack for tt_newsSERP PreviewsessionplanerSet default author/emailSet FE timezoneSet tt_news archive date automaticallySevenpackSexy bookmarks for tt_newsSF MailsubscriptionSF SVG APIsfpipauthsharethisShibboleth authenticationShipping costs depend on weightShop SystemShop system by Nikitin S.M.Shop3oxShopping Cart for TYPO3 - Order HandlerShopping Cart for TYPO3 - PayPalShopping Cart for TYPO3 - PDF GeneratorShopping Cart for TYPO3 - ProductsShopr* Entertainment ShoppingShopware Integration for TYPO3Show commerce article attributes in basketShow Item Extended InfoSimple AJAX ShoutboxSimple BlogSimple booking extensionSimple DownloadcenterSimple FAQSimple Provider (Tesseract)Simple QuizSimple SliderSimple YouTubeSimple YoutubeSimpleaddressSimpleCalendarSimplegridssimpliRobotsSimulate BE user on FE loginSingle-SignOnsitecatsSitemanagerSitemap GeneratorSitepackageSitewards Flash FilterSJR OffersSkype status buttonsk_calendarsk_simplegallerySlick - responsive Carousel SliderSLUB EventsSM - Google CalendarSmalladssmartysmarty_demoSmilie APISmilie ViewhelperSMSKAUFEN GatewaySnippets (pastecode)Snippets (t3o_snippets, OBSOLETE)Snow FlurrysnowbabelSnowstormSOAP echo webserviceSocial BookmarksSocial Login to TYPO3Social Media StreamsSocial Media WidgetsSocial Network - Recommend linkSocial Network share tt_newsSocial PublisherSocials for tt_newsSocialshareprivacy for newssocialshareprivacy for tt_newsSokobanSolr AdministrationSolr BoutiqueSolrPanelSorting NewsSource OptimizationSpamshield for FormhandlerSpamshield for TYPO3speakingurisSphinx Documentation Viewer PluginSphinx Python Documentation GeneratorSpotifySpriteSprite icon overviewSpritesSQL-based Data ProviderSR GD Crop & ResizeSRA LibrarySSL HelperStart TYPO3 ResponsiveStart TYPO3 Responsive CustomerStatic CitiesStatic Info TablesStatic Info Tables (de)Static info tables (French)Static Info Tables (pl)Static Info Tables for ExtbaseStatic Info Tables ManagerStatic PublishStatic redirectsStatic SexStatic Template for Websitesstaticpubstaticpub page-exportstaticuploadrsyncstatic_info_tables_czStatisticsStop Duplicate ContentStop wordsStop words for RealURLStore FinderStore Powermail form in databaseStore URLStreamio.comStructured Data Rendering for TYPO3Student-OfficeSubsitewizardsubversion support for TYPO3Supersized - full screen background slideshowSupport ChatSurveysvo_tvplaintextSWFObjectSWFTOOLS for LinuxSWFTOOLS for Windowsswfupload for ceSwigmore InstituteSynchronize fe_users with XINGSyntaxhighlightSystem Infosys_messagessys_notepadsys_todossys_workflowsT3 Admin communityT3 fancyboxT3 jQueryT3 MonkeyT3 MootoolsT3 SocialsT3 Web WidgetsT3BLOGt3blog uses jQueryT3BLOG Widget Demot3ddy - Super cute tabs and accordionst3deployt3feblogt3filelistT3Flext3flextoolkitt3mt3quotes - Quotes databaset3s_jslidernewst3templeT3UsersT3X CSS styled content imp.T3X direct_mail header-patchT3X SpamassassinT3X ToolTipT3X TYPO3 skinTabbed ContentTable CleanerTable for Connector service SQLTag PackTag Pack Data ProviderTagcloud ExtensionTags for pagestail frontendtail – a generic REST clientTC DirectmailTCA/TCE Tutorials and UnitTestsTCAobjectstcemainhookstc_beuserTD CalendarTeam developer helpersTemplate builderTemplate for YAML and TemplavoilaTemplate SelectorTemplaVoilaTemplaVoila Content SlideTemplavoila drag'n dropTemplaVoila FrameworkTemplaVoila tools for file based ds and mappingTEND flickrTEND YouTubeTEND YouTube to tt_newsTEQneers SEO Enhancements (dead -> please use MetaSEO)TEQneers SlideshowTER AnnouncerTER Docs Solr IndexerTER Update Task (obsolete)The Bridge to FLOW3The Tesseract ProjectThemes a theme selector, like known from wordpressTidioChatTidy or HtmLawed easy configTimekeepingtimtabtimtawTiny SourcetinyMCETinyMCE RTETinyMCE v4 as TYPO3 RTETip a friendTip-A-FriendTitle Tag ConfigurationTM GalleryTM PasteBinTocToc Comments - AJAX Social Network ComponentsTocToc Index Reloadedtollwerk Google Analyticstollwerk Lucene searchToolbox UTF8Tour Extensiontox | Google AJAX Librariestrade ecommerceTranslation helpertravelguidetree or list message boardtreesTroubleticketsTruncate Job Trusted Hosts Patterntsctslib_feTCE backportts_extbaselinkstt_guesttt_newstt_news Cache Clear by Tagtt_news Cache Clearlikett_news cache expirestt_news Cache Managementtt_news integration for YAGtt_news select configurationtt_news select configurationTurnjsTW RSS FeedsTweet and Like button tt_newsTweet ThistwitterTwitter bootstrapTwitter pluginTwitter Search (twittersearch)Two column text with imageTypo3 / CakePHPTYPO3 adapted xaJaxTYPO3 agenciesTYPO3 API compatibility libraryTYPO3 build toolsTYPO3 CiviCRMTypo3 ClusterTYPO3 CMS Compatibility LayerTYPO3 CMS in the cloudTYPO3 ConfigViewerTYPO3 Design KitTYPO3 Developer APITYPO3 Drivercore Content ElementTYPO3 Facebook extensionTYPO3 FeedTYPO3 Foundation FrameworkTYPO3 HyphenatorTYPO3 jQuery interfaceTYPO3 Media GalleryTYPO3 more scalableTypo3 PHPIDSTYPO3 profilerTYPO3 QuixplorerTYPO3 RegistrationTYPO3 ToGoTYPO3 Update CheckTYPO3 WrapperTYPO3Mindtypo3orgtyposcripttypo3rtlTypoGentotypogorum - DMS/ECM - agorumTyposcript BlogTyposcript CETypoScript CheckTypoScript FilesTypoScript LiveEditorTyposcript Service for Calendar Basetyposcript2contentelementUnit tests for tt_newsUniversal page browserUniversal PageteaserUniversal SearchbarUniversity Seminar-Calendarupate refindex of Typo3Update page on news updateUpload to TERUploadcareURL ToolsUseful informations in reports moduleUseful tasks in scheduler moduleUsers OnlineUTF-8 ConverterUTOPIAVanilla Single Sign OnVarnish Cache ControlVarnish ConnectorVehiclesVFSVibéoVideo Content ElementVidi (List Component)View Helper CollectionVimeo VideoViral Tweet GeneratorVR-ePay ePaymentWarpstock Europe EventswatchwordsWeb Application FirewallWeb>List Actionswebcon: Accessible browse results for indexed searchwebconsulting FTP transferWebKit PDFWebservices for TYPO3WEC MapWheelchairWishlistWordPress grabberWordpress IntegrationworkshopsWorkspace PreviewWorkspace Preview AdviceworldcupWOW - Character DisplayWOW - Item DisplayWOW - Raid ManagementWRSws_statswt_calculating_captchawt_carmarketwt_cart for tt_newswt_commerce_previewwt_contentchangewt_csstooltipwt_directorywt_dynamictargetwt_email4downloadwt_gallerywt_gallery_descriptionwt_individualshippingcostwt_lightwindowwt_socialbookmarkswt_spamshieldwt_twitterxajaxxajax libraryxajax_tutorXING ButtonXLF EditorXLIFFXML Flash Tag CloudXML RSS-Feed ImportXML templating for JpGraphXML to Front EndXML Tools for ExtbaseXML xPath ParserXML-Sitemap for pages and mediaXPATH Content ObjectXSLT Content ObjectxtcmodifiedYAC - Yet another CalendarYAG - Theme SimpleviewerYAG - Yet Another GalleryYAML for TemplaVoilaYAML for TYPO3Yellowpay for TYPO3 commerceYet Another Feed ImporterYet another GalleryYet another Google searchYIID it! like/dislike buttonYoutube APIYoutube Data V3YouTube Fancy PlaylistYubiKey two-factor OTP authenticationZend FrameworkZend Framework extensions[clickstorm] SEO[DEPRECATED] Please refer to Quick Shop!Разработка на Extbase

Documentation

Introduction

What is 'pw_comments'?

pw_comments is an extension for TYPO3 which adds the possibility to post comments on pages (similar to the comment function in blogs) or extension entries like tt_news-news. This extension is based completely on Extbase and Fluid.

Features

  • Adds the possibility for users to post comments on pages
  • Easy to integrate into existing or new websites
  • Compatible with other extensions like tt_news
  • Uses modern technology: Extbase & Fluid
  • Awesome flexibility by TypoScript conditions
  • Gravatar support
  • "Hidden field" spam protection
  • Bad word list for comment message, name and mail address
  • Customizable waiting time between two comments
  • Moderate new comments
  • Replying to comments (one level deep, replies to other replies are not possible)
  • Change order of comments and/or replies (separately adjustable)
  • Vote comments and replies
  • E-mail notification
  • Use of relative dates (i.e. "15 minutes ago")
  • TYPO3 6.2 Compatible

Issues, bugs and feature requests

If you have found a bug or you want to submit a request for a new feature, please use the Forge issue tracker at http://forge.typo3.org/projects/extension-pw_comments/issues.

In case you don't want to create an account on Forge, you may send me an e-mail at armin(at)v.ieweg.de

Administration

How to get pw_comments

There are two ways to get pw_comments. You can visit the TER at http://typo3.org/extensions/repository/view/pw_comments/current/ and download pw_comments there or you can use SVN at https://svn.typo3.org/TYPO3v4/Extensions/pw_comments/ to check out the latest version. The trunk folder will always contain the current development state, but in the tags folder you'll find the different releases.

Requirements

The extension requires:
  • TYPO3 4.5.0 or newer
  • Extbase 1.3.0 or newer
  • Fluid 1.3.0 or newer

If your system doesn't match the requirements the installer will notify you.

Installation

After loading the extension onto the server, you will have to install it like every other extension. The installation will create a new table for storing comments.

After the installation you should add the static setup to your current TYPO3 template:

Screenshot: Include static (from extensions)

When the statics have been added you can access several libs to include pw_comments into your page (as described in the next chapter).

Configuration

First installation

After you've successfully installed pw_comments and added the static setup to your TYPO3 template you can simply add the following TypoScript lines to your main column output in order to output the comments:

lib.content = COA
lib.content {
  10 < styles.content.get

  # List comments
  20 < lib.pwCommentsIndex

  # Write new comment
  30 < lib.pwCommentsNew
}

This will display the comments on every page. You can use any conditions you want (for example: [globalVar = TSFE:page|layout = 1]) to define the visibility of comments for specified pages (since you probably wouldn't want comments to appear on all pages).

Settings

pw_comments includes the following settings which make it highly customizable:

plugin.tx_pwcomments.settings. ...

Setting Type Default value Description
Anchors
commentAnchorPrefix string comment Every comment gets an own anchor which contains the uid of the comment. In the default case the anchor will look something like that: #comment1337.
showCommentAnchor string comments This anchor will appear in front of the comment numbering.
writeCommentAnchor string writeComment This anchor will appear in front of the comment form.
successfulAnchor string thanksForYourComment This is the anchor of the flashMessage which notifies the user that his comment has been submitted successfully.
customMessagesAnchor string customMessages This anchor is part of index action and marks the flashMessage container to show customMessages, like "You can't vote for your own comment."
Gravatar
showGravatarImage boolean 1 Enables or disables the usage of gravatar images
gravatarSize integer 50 Size (in pixel) of gravatar images
gravatarDefault string mm This specifies the default image for e-mail addresses without a gravatar
EntryUid (for usage with other extensions like EXT:news)
useEntryUid boolean 1 Enables or disables the usage of entryUid
entryUid cObject Use cObject to define the value of entryUid dynamically. See chapter "How to use pw_comments with other extensions" for further information.
Replying to comments (available since version 1.4.0)
enableRepliesToComments boolean 0 Enables or disables the reply link and adds a hidden field to new comment form with uid of parent comment. If this option is activated the next one should be activated, too.
showRepliesToComments boolean 0 Enables or disables the display of already existing replies to comments.
countReplies boolean 1 If true, the placeholder {commentCount} will also count replies on comments. Otherwise just comments (no replies) will get counted.
Sortings (available since version 2.1.0)
invertCommentSorting boolean 0 Per default oldest comments are displayed first. If this option is true, the order of comments get inverted (newest comments first).
invertReplySorting boolean 0 See invertCommentSorting. Affects replies of comments instead of comments itself.
Voting (available since version 2.0.0)
enableCommentVotes boolean 1 Enables or disables the voting controls for comments.
enableReplyVotes boolean 1 Enables or disables the voting controls for replies.
enableVoting boolean 1 If disabled votes are visible but users may not vote for comments/replies. This is useful if you want to restrict possibility to vote for eg. logged in users but show the votings.
hideVoteButtons boolean 0 If enabled the voting buttons are not visible. Caution: The voting functionality itself is still enabled.
ignoreVotingForOwnComments boolean 1 If enabled users are not allowed to vote for their own comments/replies.
Moderation and e-mail notification
moderateNewComments boolean 1 If this option is enabled, comments are not automatically visible. A back end user has to activate them first.
sendMailOnNewCommentsTo string One or more e-mail addresses who will be informed every time a new comment has been submitted. Separate multiple recipients using a comma or leave empty to disable e-mail notifications.
sendMailTemplate string EXT:pw_comments/[...]/mail.html Defines the path to the Fluid template which should be used for notification e-mails
sendMailMimeType string text/plain Defines the MIME-type of the e-mail body. Please note that changes made here also need to be regarded in the appropriate template.
"/website")
Mails to comment author
sendMailToAuthorAfterSubmit boolean 0 If this option is enabled, the author receives a mail after each comment he/she has written.
sendMailToAuthorAfterSubmitTemplate string EXT:pw_comments/[...]/mailToAuthorAfterSubmit.html Defines the path to the Fluid template which should be used for the e-mail to comment author.
sendMailToAuthorAfterPublish boolean 0 If this option is enabled, the author receives a mail after a comment he/she has written has been published. This option requires activated "moderateNewComments".
sendMailToAuthorAfterPublishTemplate string EXT:pw_comments/[...]/mailToAuthorAfterPublish.html Defines the path to the Fluid template which should be used for the e-mail to comment author.
Rights
secondsBetweenTwoComments integer 300 Defines the number of seconds an user has to wait before they may post another comment (includes all pages)
linkUrlsInComments boolean 1 If activated this option recognises and links domains like www.professorweb.de.
Spam protection
useBadWordsList boolean 1 Enables or disables the usage of bad word list. This option just checks the entered comment message.
useBadWordsListOnUsername boolean 1 Available since 2.1. If enabled performs bad words check on entered username. This option may be activated seperately from useBadWordsList option.
useBadWordsListOnMailAddress boolean 0 Available since 2.1. Same like option useBadWordsListOnUsername, just for the entered email address.
badWordsList string EXT:pw_comments/[...]/badwords.txt Defines the path a bad word list containing regular expressions (one in each line).
hiddenFieldSpamProtection boolean 1 If enabled an additional hidden field will be added to the comment form. If this field is filled (for example by a bot) the comment will not be saved.
hiddenFieldName string authorWebsite Field name of the hidden field (type="input")
hiddenFieldClass string hide_initally CSS class for hiding the field
Field replacements
replaceUsernameWith cObject You can replace the name input field with something else. This makes sense if it is used together with conditions which check if the user is logged in.
replaceMailWith cObject See "replaceUsernameWith"
Relative Date
relativeDate.absoluteFormatFallback string %d.%m.%Y The dates of comments will be shown as relative dates (for example "2 hours ago"). After a longer period of time, the view helper switches to an absolute date. This setting controlls the output of this absolute date.

TypoScript in settings

You may use TypoScript in the settings. For example:

plugin.tx_pwcomments.settings.successfulAnchor = TEXT
plugin.tx_pwcomments.settings.successfulAnchor {
  data = page:title
  wrap = #thanksForYourCommentOnThePage|
}

Flexibility with conditions

You can define the settings even further using conditions. The default setup, which is delivered in the static setup, contains different settings for users who are logged in:

[loginUser = *]
plugin.tx_pwcomments {
    settings {
        moderateNewComments = 0
        secondsBetweenTwoComments = 60

        replaceUsernameWith = COA_INT
        replaceUsernameWith {
            10 = TEXT
            10.data = LLL:EXT:pw_comments/Resources/Private/Language/locallang.xml:tx_pwcomments.newComment.loggedInAs

            20 = TEXT
            20.data = TSFE:fe_user|user|username
            20.noTrimWrap = | <b>|</b>|

            stdWrap.wrap = <div class="loggedInAs">|</div>
        }

        replaceMailWith = TEXT
        replaceMailWith.stdWrap.char = 0
    }
}
[global]

This will disable moderation for new comments, reduce the minimal number of seconds between two comments and replace the input field for name and e-mail with the string: "You are logged in as: <b>Blah</b>" for logged in users.

How to use pw_comments with other extensions

Since version 1.1 it is possible to use pw_comments not only with pages but also with tt_news entries or any other extension - thanks to the new entryUid.

You can enable or disable the usage of entryUid by setting TypoScript conditions. If you do so pw_comments will search for comments which are located on the current page (pid). For example, if you use tt_news the pid for all news is the same, because the pid only defines the page which contains the detail-view-plugin and not the news entry itself.

If you enable the entryUid you can define its content yourself. In this example you could fill in the news-entry-uid of current news.

In TypoScript this could look like this:

[globalVar = GP:tx_ttnews|tt_news > 0]
  # Enable the usage of entryUid and define entryUid
  plugin.tx_pwcomments.settings {
    useEntryUid = 1
    entryUid = TEXT
    entryUid.data = GP:tx_ttnews|tt_news
  }

  # And add comments if not done yet
  lib.content.80 < lib.pwCommentsIndex
  lib.content.85 < lib.pwCommentsNew
[global]

First you check the condition "Am I currently on a news detail view?". If this is the case, the GET-parameter tx_ttnews[tt_news] exists and is greater than zero.

Then you tell pw_comments to use the entryUid and fill it with this GET-parameter value, which is basicly the uid of the news_entry.

Now pw_comments respects the uid of the news itself and you can add several separate comments to all published news entries.

Of course you can also use this feature with any other extension - just replace the GET-parameter.

It is not possible to use more than one instance of pw_comments per page!

Libraries for further usage

The static setup of pw_comments contains some libs to make your work more comfortable:

lib.pwCommentsIndex

This displays the comments with the Fluid template engine.

lib.pwCommentsNew

This displays the form for posting comments. You can disclaim this form if you want to make the comments read only.

lib.pwCommentsGetCount

Returns the number of comments on the current page. You can use this lib with the f:cObject viewhelper in Fluid as well.

Caution
If you have the option useEntryUid enabled, the amount of comments will just respect the comments per page, not per eg. news entry. You have to modify the typoscript for this functionality a little bit. Just add the following to your own typoscript:

lib.pwCommentsGetCount {
    10.select.andWhere = entry_uid=###NEWSUID###
    10.select.markers.NEWSUID.data = GP:tx_ttnews|tt_news
}

lib.pwCommentsGetCountWithLabel

Similar to lib.pwCommentsGetCount, but adds the word 'comment/s' behind the number of comments.
i.e: "0 comments", "1 comment", "2 comments"

CSS default style

The static setup provides some basic CSS styles. If you want to disable them simply paste this into your TypoScript:

plugin.tx_pwcomments._CSS_DEFAULT_STYLE >

Author or authorName?

The author of a comment is saved in two diffent ways: If an unregistred user writes a comment the fields authorName and authorMail are filled. If the user is registered the model of the user is linked to the comment in the field author.

authorIdent (new since 2.0.0)

Each comment author gets an authorIdent, stored in comments and votes. If user is logged in, it contains the uid of the frontend user. Otherwise it contains a randomly generated string. For not logged in users, this string will be stored as cookie with key tx_pwcomments_ahash.

Overwrite translations

If you want to change translations, like the upvote/downvote label, just use typoscript:

plugin.tx_pwcomments._LOCAL_LANG.default.tx_pwcomments.votes.upvote = :)
plugin.tx_pwcomments._LOCAL_LANG.default.tx_pwcomments.votes.downvote = :(

plugin.tx_pwcomments._LOCAL_LANG.de.tx_pwcomments.votes.upvote = :)
plugin.tx_pwcomments._LOCAL_LANG.de.tx_pwcomments.votes.downvote = :(
You can also empty labels, if you want to use a background image (via CSS) instead.

User guide

Where comments are stored

Comments are stored at the pid of the page where they have been written. To see the comments just switch to list view and click on the page.

Activate moderated comments

If a submitted comment is moderated and not yet visible, you have to activate it manually. To do this, switch to list view and choose the page where the comment has been posted. Comments are displayed like that:

Screenshot: Listview of comments in backend

You can click on the bulb to make the comment visible or click on the pencil to see/modify the comment's details.

Getting informed about new comments

pw_comments sends out an e-mail notification for each new comment. The default e-mail template contains a back end link to the comment details. This requires a valid back end session.

Inform your users

It is also possible to send mails to comment authors themselves when:
  • a new comment has been written
  • a moderated comment has been published

Known problems / Troubleshooter

fe_user not found

If you work with registred users, they will need a special property set in order to be recognized by Extbase. The following extension explains which field that is and sets it to default: Extension 'fe_users_default_extbase_type'

--- [eof]

2011-09-13_1330.png View - Screenshot: Include static (from extensions) (71.6 KB) Armin Vieweg, 2011-09-13 13:30

2011-09-13_1414.png View - Screenshot: Listview of comments in backend (7.71 KB) Armin Vieweg, 2011-09-13 14:23