Skip to content

Instantly share code, notes, and snippets.

@ymauray
Last active December 6, 2019 12:40
Show Gist options
  • Save ymauray/820558ad238c09c1c154b31eab9dd4e7 to your computer and use it in GitHub Desktop.
Save ymauray/820558ad238c09c1c154b31eab9dd4e7 to your computer and use it in GitHub Desktop.
TemplaVoila problem - Procedure

Create a mysql database :

create database typo3 default character set 'utf8mb4' default collate 'utf8mb4_general_ci';
create user 'typo3'@'localhost' identified by 'typo3';
grant all privileges on typo3.* to 'typo3'@'localhost';
flush privileges;

Install Typo3 and TemplaVoila

composer create-project typo3/cms-base-distribution my-new-project ^9.5
cd my-new-project
composer require templavoilaplus/templavoilaplus friendsoftypo3/typo3db-legacy mehrwert/phpmyadmin
touch public/FIRST_INSTALL
  • install, create empty starting page
  • Template mode, on "Home". Add this to Setup :
page = PAGE
page.10 = USER
page.10.userFunc = Ppi\TemplaVoilaPlus\Controller\FrontendController->main_page
page.10.disableExplosivePreview = 1
  • List mode, on root page. Add "Website Language" (french, for example)
  • Page mode, on "Home". Edit page properties. In Resources tab, add this to Page TSConfig :
mod.SHARED {
      defaultLanguageFlag = gb
      defaultLanguageLabel = English
}
  • Site management > Sites, edit site, add french language (fallback type : fallback on default language)
  • Filelist mode, on fileadmin : create folder "templates/templavoila".
  • Upload basic template :
    <!DOCTYPE html>
    <html>
    <body>
    <div id="content">
    </div>
    </body>
    </html>
  • Page mode, on root page. Add "Storage Folder" folder.
  • Page mode, on "Home". Edit page properties. On "Resources" tab, set General Record Storage Page.
  • List mode, on Storage Folder. Add DS and TO. Reference basic template.
  • TemplaVoilà!+, on Storage Folder. Map root to body, "maindiv" to main div as Page-Content Elements.
  • Page mode, on "Home". Edit page properties. On "Appearance" tab, set template to Basic for default language.
  • Problem #1: impossible to set template for other languages : selector is empty.
  • Page mode, on "Home". Add content for default language. Translate page and content.
  • Page mode, on "Home". Activate translated content.
  • Visit the website (http://domain.com/en), content displays fine.
  • Problem #2 : Visit the website in alternate language (http://domain.com/fr), an error is displayed :
TemplaVoila Plus ERROR:
Couldn't find a Data Structure set for table/row "pages:1".
Please select a Data Structure and Template Object first.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment