• Stars
    star
    3
  • Rank 3,952,970 (Top 79 %)
  • Language
    PHP
  • License
    MIT License
  • Created over 10 years ago
  • Updated about 10 years ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

Twig for TYPO3

twypo

Twig for TYPO3

How to use it

  1. cd path/to/your/typo3conf/ext && git clone https://github.com/julianxhokaxhiu/twypo.git --recursive or install it directly from TER.
  2. Enable the "Twypo" extension inside your Backend
  3. In Include static (from extensions): of your main template add the voice Twypo: Framework Setup.
  4. Refresh your page and you're done.

Is it ready for production?

Nope, it's not.

But it's a Kickstart that a lot of guys at cron IT GmbH helped me on starting this project.

Why?

Simply because there were a lot of POC but none of them was a working extension like "drop-in and run". So, this is my own effort to bring this kind of logic to the people that want to use it.

What can you do for me?

If you're a TYPO3 developer, you can help me to scrape in the correct way the data from the system to arrays/dictionaries.

If you're a user, then just wait for it to be ready.

Which is the license of this project?

I like the MIT license. Just use it as you like, but remember to keep the original author(s) in your source code files. Read the LICENSE file for more information.

Reference

The namespace used for the returned collection on the view, is based on the default empty installation of typo3.

You can change some of them (ex. left, middle, etc.) using the TypoScript configuration. See TWYPO_COLUMN_MAPPING in setup.txt.

Also the main layout entrypoint will be decided through the Layout option of the current page on the backend. To see which file will be called, based on that option, see TWYPO_LAYOUT_MAPPING in setup.txt.

app
  css
    path // Relative Path of CSS files
    files // array of files found in the cssFiles TS folder
  js
    path // Relative Path of JS files
    files // array of files found in the jsFiles TS folder
  menu // The website main menu
  page // The current page information (title, subtitle, etc.)
  content // The current items for the page.
    left // The left area of the current page
    	@items
    middle // The middle area of the current page
    	@items
    right // The right area of the current page
    	@items
    border // The border area of the current page
    	@items

Each @items is an array made of single items that have these properties:

title // The item header text
text // The item content text
link
  url // The url of the link
  target // the target of the link
files // array of items
  ...
    url // The abs url of the image
    type // The fileType (internal integer used by Typo3 to flag "content" items stored on the DB)
    mime // The mimetype
    title // The title of the file
    description // The description of the file
    extension // The extension of the file
    missing // This flag tells you if the file is missing in the disk

If you want to know what's inside of app:

{{ dump(app) }}

or inside of app.menu

{{ dump(app.menu) }}

If you want to see how these @items are currently printed, see index.twig.

Extension Developers Reference

You can integrate Twypo directly from your plugin and provide the required data and functions by using one simple line of code:

global $TWYPO;

Include that line in any module, function or PHP code that is requiring it, and afterwards you can use public available APIs to assign template data (or internal data, mostly used for setting temporary data between modules that doesn't live in the same moment).

List of Public available API:

  • $TWYPO->scrapeData(): mostly used by Twypo itself, useful for scraping basic data that comes directly from TYPO3 itself, for example Menus.
  • $TWYPO->get($key): get the template Data value for the corresponding key (a string).
  • $TWYPO->getInternal($key): get the internal Data value for the corresponding key (a string).
  • $TWYPO->assign($key,$value): set the template Data value for the assigned key (a string).
  • $TWYPO->assignInternal($key,$value) set the internal Data value for the assigned key (a string).

More Repositories

1

FFNx

Next generation modding platform for Final Fantasy VII and Final Fantasy VIII ( with native Steam 2013 release support! )
C++
340
star
2

LineageOTA

A simple OTA REST Server for LineageOS OTA Updater System Application
PHP
215
star
3

iPoPS

Convert your PSX Discs and ISOs into the PBP format, and play them on your PSP
C
60
star
4

gitbook-plugin-summary

Gitbook plugin to auto-generate SUMMARY.md
JavaScript
52
star
5

docker-powerdns

PowerDNS + Recursor + Admin GUI + Adblock in one single Docker
Shell
52
star
6

vps-powered-by-docker

Arch Linux setup script to obtain a full VPS with Automatic Reverse Proxy (and more) without pain
Shell
27
star
7

docker-woocommerce

PHP Docker for Woocommerce on Steroids
Dockerfile
22
star
8

docker-lineage-cicd

Docker microservice for LineageOS Continuous Integration and Continous Deployment
Dockerfile
17
star
9

PostEvent

A Cross-Domain Event Handler javascript library. Pure Vanilla JS, no dependencies.
HTML
15
star
10

sublime-projecttreetemplater

A simple templater for your project: manage the tree with a simple script!
Python
15
star
11

LineageOTAUnitTest

A LineageOS OTA Unit Test made for NodeJS
JavaScript
10
star
12

jvectormap-italy-provinces

A plugin for jVectorMap which includes an Italy Map with Provinces Areas
10
star
13

TwigPress

A boilerplate Twig Engine Theme for Wordpress
PHP
9
star
14

chrome-link-revealer

Simply reveal links when you hover your mouse over anchors
JavaScript
9
star
15

chrome-deezer-mediakeys-reloaded

Add multimedia keys support to Deezer
JavaScript
9
star
16

spotify-playlist-extractor

Bring back the freedom of choice to users. Let them export their playlist from Spotify, whenever they want :)
JavaScript
9
star
17

SteamworksSDKCI

CI builds of Steamworks SDK for CMake build systems
C++
9
star
18

docker-awesome-wordpress

A Docker that combines all the most awesome needed things for a powerful Wordpress installation
Dockerfile
8
star
19

gulp-usemin-reloaded

A better usemin
JavaScript
6
star
20

chrome-spotify-mediakeys-reloaded

Add multimedia keys support to Spotify
JavaScript
6
star
21

Palmer

FF7 Field Background Editor
C++
5
star
22

mockups-creator

A NodeJS App that creates static HTML mockups using Grunt
JavaScript
5
star
23

jquery-itunestoresearch

A simple wrap to official iTunes Store Search API with jQuery
JavaScript
4
star
24

chrome-grooveshark-mediakeys-reloaded

Add multimedia keys support to Grooveshark
JavaScript
4
star
25

Moomba

Final Fantasy VIII CAM editor
C#
4
star
26

docker-gplayweb

GPlayWeb + FDroid Server + Caddy Server on one single Docker
Shell
4
star
27

typdom3

DOMPDF wrapper for TYPO3
PHP
4
star
28

tomahawk-daapjs

A DAAP resolver for Tomahawk made in Javascript
JavaScript
3
star
29

CaitSith

Final Fantasy VII CAM editor
C#
3
star
30

docker-pagekit

PHP Docker for Pagekit
2
star
31

JPM

A simple Json Package Manager
C#
2
star
32

jquery-youtubelivefeed

A simple jQuery plugin that will let you to embed live feeds or latest one made
JavaScript
2
star
33

ota.julianxhokaxhiu.com

Fully Automated Serverless OTA Service for LineageOS, using Github, Basketbuild, Cloudflare and Travis
JavaScript
2
star
34

PuPuSharp

FF8 Field Importer/Exporter - C# version of the original PuPu Project
C#
2
star
35

amazon-bot

JavaScript
2
star
36

FF78Launcher

An alternative launcher for FF7/FF8 Steam editions
CMake
2
star
37

bgfxCI

CI builds of bgfx for x86 platform
PowerShell
2
star
38

chrome-soundcloud-mediakeys-reloaded

Enable the use of MediaKeys for Soundcloud
JavaScript
2
star
39

polysticky.js

A position sticky polyfill that doesn't suck.
JavaScript
2
star
40

dotfiles

Collection of dotfiles improved overtime, based on Arch Linux
Shell
2
star
41

gulp-closurecompiler

The ClosureCompiler.js Gulp Task
JavaScript
2
star
42

FF7SND

Final Fantasy VII Audio Extraction app ( originally made by Qhimm.com )
C#
2
star
43

jquery-tagbox

A simple Facebook (or Google+) TagBox like using jQueryUI
JavaScript
1
star
44

MMNx

Next generation Mod Manager
CMake
1
star
45

ff8_mch

Final Fantasy VIII MCH Import/Export plugin for Blender
Python
1
star
46

docker-twrp-cicd

Docker microservice for TWRP Continuous Integration and Continous Deployment
Shell
1
star
47

DeliriNotturni-Live-Page

Live page of DeliriNotturni.org
JavaScript
1
star
48

rpi-powered-by-docker

Arch Linux ARM setup script to obtain a full RPI with Automatic Reverse Proxy (and more) without pain
Shell
1
star
49

ffmpegCI

CI builds of FFMpeg for x86 platform
PowerShell
1
star
50

chrome-youtube-mediakeys-reloaded

Enable the use of MediaKeys for Youtube
JavaScript
1
star
51

blog.julianxhokaxhiu.com

Julian Xhokaxhiu's Blog
HTML
1
star
52

vpngate-ovpn-exporter

Export all VPNGate OpenVPN configurations to files inside country-code relative folders
Python
1
star
53

AUR

My Arch Linux AUR Packages
Shell
1
star
54

LLGLCI

CI builds of LLGL for x86 platform
CMake
1
star
55

docker-iperf3

iPerf3 Server Container
Dockerfile
1
star
56

docker-nginx-reloaded

Reverse Proxy Docker container with Nginx, acme.sh, DNS and Autodiscovery ( alternative to jwilder/nginx-proxy )
Twig
1
star