PHPackages                             zeroseven/z7-blog - PHPackages - PHPackages  [Skip to content](#main-content)[PHPackages](/)[Directory](/)[Categories](/categories)[Trending](/trending)[Leaderboard](/leaderboard)[Changelog](/changelog)[Analyze](/analyze)[Collections](/collections)[Log in](/login)[Sign up](/register)

1. [Directory](/)
2. /
3. zeroseven/z7-blog

ActiveTypo3-cms-extension

zeroseven/z7-blog
=================

Another blog-system for TYPO3

v1.4.1(2y ago)37.2k[2 issues](https://github.com/zeroseven/z7_blog/issues)3GPL-2.0-onlyPHP

Since Jul 22Pushed 5mo ago10 watchersCompare

[ Source](https://github.com/zeroseven/z7_blog)[ Packagist](https://packagist.org/packages/zeroseven/z7-blog)[ RSS](/packages/zeroseven-z7-blog/feed)WikiDiscussions master Synced 1mo ago

READMEChangelog (2)Dependencies (1)Versions (37)Used By (3)

[![maintenance-status](https://camo.githubusercontent.com/a9b9316b0dd923c93b326ea82f12466136f253ede16b6ff8b787945e0bf17b74/68747470733a2f2f696d672e736869656c64732e696f2f62616467652f6d61696e74656e616e63652d646570726563617465642d7265642e737667)](https://camo.githubusercontent.com/a9b9316b0dd923c93b326ea82f12466136f253ede16b6ff8b787945e0bf17b74/68747470733a2f2f696d672e736869656c64732e696f2f62616467652f6d61696e74656e616e63652d646570726563617465642d7265642e737667)

TYPO3 blog extension
====================

[](#typo3-blog-extension)

DEPRECATED
----------

[](#deprecated)

This extension is replaced by the [pagebased\_blog](https://github.com/zeroseven/pagebased_blog) (powered by [pagebased](https://github.com/zeroseven/pagebased)), it's new and shiny successor with more functionality and a huge perfomance boost.

After years of developing and maintaining the z7\_blog, we have upgraded the whole experience. We have put all of our experience with this extension into it's successor.

Version 1.4 was the last feature update this extension will receive. Thank you for using and liking our blog extension in the past.

---

⁉️ Why another blog extension?
------------------------------

[](#interrobang-why-another-blog-extension)

### For the best developers

[](#for-the-best-developers)

We love TYPO3 developers and TYPO3 developers love this extension. It’s never been so easy to bring a blog to a TYPO3 page, to customize it and put information where they belong. Extend the Extbase models, synchronize the content on post pages or invent new filter arguments for ViewHelpers or the repository with just a bunch of lines of code. It’s totally up to you.

Want a RSS-Feed? Or a comments function? This extension is built highly modular: Whole features are easily installed or removed or you develop your very own features for the blog. This way, you’ll always only have the exact amount of features and configuration that you really need. Speaking of need: you really need this extension!

Oh by the way, we support multi language and multi domain setups of course.

### For the proficient editors

[](#for-the-proficient-editors)

We love TYPO3 editors and TYPO3 editors love this extension. It’s never been so easy to maintain and manage blog posts and categories, to assign tags and to output all that filtered and controlled on a TYPO3 page. Since this works as usual with pages and content elements you can start instantly. Furthermore the backend supports you with automated post sorting in the page tree, autocompletion and many more useful tools to help you get the job done fast.

### For the successful SEOs

[](#for-the-successful-seos)

We love SEO people and SEO people love this extension. A great opportunity to generate content for your website. Since all the posts are „regular“ TYPO3 pages, all the possibilities the TYPO3 core offers are available here as well. This way, you don’t need to worry about open graph data, sitemaps, canonical or meta tags like with record based extensions in this blog. It’s all there. On top, we’ve added structured data for all the posts just like that.

🍭 Feature overview
------------------

[](#lollipop-feature-overview)

- Based on TYPO3 pages
- Supports multi domain setup
- Extended filter plugin
- Structured data
- Variable ajax pagination
- Autocomplete tags in the backend
- Automated sorting in page tree
- Custom plugin layouts
- Custom conditions for your fluid templates
- Modular sub extensions available:
    - RSS-Feed
    - Comment function

✨ "Subextensions"
-----------------

[](#sparkles-subextensions)

Like mentioned: For this extension to have a huge set of features but to not bloat it, these features can be installed or removed with our concept of subextensions. This way, you can also add your own subextensions to the blog.

Here's an overview of existing subextensions:

ExtensionkeyDescriptionInstallation**[z7\_blog\_rss](https://github.com/zeroseven/z7_blog_rss)**Creates a RSS feed via URL parameters`composer req zeroseven/z7-blog-rss`**[z7\_blog\_comments](https://github.com/zeroseven/z7_blog_comments)**Enhances the blog with a comment function`composer req zeroseven/z7-blog-comments`🔧 Installation
--------------

[](#wrench-installation)

Get this extension via `composer req zeroseven/z7-blog`.

⚙️ Setup
--------

[](#gear-setup)

### Add post details to the template

[](#add-post-details-to-the-template)

If you need information about the post on each blog post, there's no need to maintain each one individually. Use the following TypoScript to add blog content to each post at a place of your liking.

```
page.100 = USER
page.100 {
    userFunc = Zeroseven\Z7Blog\Utility\PostInfoRenderUtility->renderUserFunc
    file = EXT:z7_blog/Resources/Private/Partials/Post/Info/Summary.html
    settings {
        pass.any = settings
        to = the template
    }
}

```

… or render the info by a ViewHelper in your template:

```

        {page.title}

```

… or render a custom content element:

```
tt_content.custom_blogpost_info =< lib.contentElement
tt_content.custom_blogpost_info {
    templateName = Generic

    20 = USER
    20 {
        userFunc = Zeroseven\Z7Blog\Utility\PostInfoRenderUtility->renderUserFunc
        file = EXT:z7_blog/Resources/Private/Partials/Post/Info/Summary.html
    }
}

```

So you see, there are several ways to achieve what you want. Feel free to choose what suits you best!

### Use different layouts

[](#use-different-layouts)

Add selectable layouts for the editor via TSconfig. Inside the Fluidtemplate you can use conditions, depending on the variable `{settings.layout}`.

```
tx_z7blog.content.[CType].layouts {
  sidebar = Sidebar-Teaser
  archive = Archive
}

```

⚠️ The CType can be overridden by the TCA configuration `contentLayoutKey`.

### Extend models and demands classes

[](#extend-models-and-demands-classes)

It's possible to extend a domain model or a demand class, by adding your own `traits`.

**your\_extension/Classes/Domain/Traits/PostModel.php**:

```
