Category Archives: Typo3

Typo3 and conditional TypoScript includes

Since a long time it’s possible to split your TypoScripts into external files and include them from your template via
<INCLUDE_TYPOSCRIPT: source="FILE: fileadmin/fileToInclude.ts">
So it’s very easy to use your favorite editor and, more important, organize the TypoScript-Files into smaller, reusable chunks.

My common setup is something like that:
Template-Code:
<INCLUDE_TYPOSCRIPT: source="FILE: fileadmin/tpl/include.ts">

fileadmin/tpl/include.ts:
<INCLUDE_TYPOSCRIPT: source="FILE:fileadmin/tpl/ts/site.ts">
<INCLUDE_TYPOSCRIPT: source="FILE:fileadmin/tpl/ts/defaults.ts">
<INCLUDE_TYPOSCRIPT: source="FILE:fileadmin/tpl/ts/header.ts">
<INCLUDE_TYPOSCRIPT: source="FILE:fileadmin/tpl/ts/menu.ts">
<INCLUDE_TYPOSCRIPT: source="FILE:fileadmin/tpl/ts/plugin_news.ts">
<INCLUDE_TYPOSCRIPT: source="FILE:fileadmin/tpl/ts/plugin_facebook.ts">

But there is one large downside. Every include adds an [GLOBAL] at the end of file. So it’s not possible to include files based on a multi level condition. For example if you like to develop a new design and want to test it on a test domain. For more information see https://forge.typo3.org/issues/16525

But since Typo3 7.6 there is something which can help. Continue reading »

Typo3 – Easy upgrade of pibase extension to TYPO3 6.2 or 7.6

After upgrading a Typo3 4.5 Installation to Version 6.2 your old pibase extension may still running. Hmm .. at least mostly 🙂
You just need to remove some requice_once statements and modify the ext_table.php to use the \TYPO3\CMS\Core\Utility\ExtensionManagementUtility class. Most of the other stuff is still there.
Once when you try to upgrade to version 7.6 you are in need to modify a bit more. But don’t worry. After all it isn’t that complicated. And by the way … you don’t need to wait until you upgrade. These changes are running very well even in an 6.2 installation.
So here is a small list of needed action to upgrade from 4.5 via 6.2 to 7.6 🙂
Continue reading »

Typo3: Backend Search

After you upgraded from a Typo3 Version 4.5 LTS to Version 6.2 or higher you may wounder why the backend search is not working anymore as expected. Even in the list mode the result of extension records can be empty.
If it’s your own extension you can fix it very easy. Since Version 4.6 the search behavior was changed (see https://forge.typo3.org/issues/36452).
To re-enable the search function of your own extension records to have to add this line to your ext_table.php:

$TCA['name_of_table']['ctrl']['searchFields'] = 'col1, col2, col3';

Just include all columns which make sense. Clear the system cache and it’s done. Of course you need to do this for every table which you wanted to be searched 🙂

Typo3 Replace old getPageLink in an extbase controller

If you wounder how to create links in an extbase controller instead of using the old pi_getPageLink methode you should have a look at this:

$this->controllerContext->getUriBuilder()->reset()
  ->setArguments([
    'tx_myext[action]'=>'show', 
    'tx_myext[param]'=>$model->getUid() ])
  ->setTargetPageUid($GLOBALS["TSFE"]->id)
  ->setCreateAbsoluteUri(true)
  ->buildFrontendUri();

To get more information you may search for getUriBuilder

Typo3 Problems with image gm convert and umlauts

If you have a problem when uploading images with umlauts in the file name you first stop may will be to check the config.local_all setting. The setting should match some value of the locale -a command of the server. Mose of the time it’s something like en_US.uft8 or de_DE.utf8.
But if you still getting errors like

/usr/local/bin/gm convert: Unable to open file ([image file name]) [No such file or directory].

You should also set systemLocale of the Typo3 configuration. The most simple way to do this is to use the Installation Tool/All Configuration:

$TYPO3_CONF_VARS['SYS']['systemLocale'] = 'de_DE.utf-8';

Typo3: “Cannot find tslib” and “Lock file could not be created”

Recently I had to move my Typo3 Installation from one server to new one. It should be easy to move. However the reality is another one 😉 In specialty if you are using Plesk.

After I used the MigrationManager of Plesk the site wasn’t running. I got the message

Cannot find tslib/. Please set path by defining $configured_tslib_path in index.php.

A quick search showed up that the symbolic link of the global typo3 installation isn’t working. I’ve checked that but it was correct. But then I got an idea: The old installation was running on Plesk Version 9 and the new one on Version 11. In Version 9 you hat to the open_basedir youself via the vhost.conf file. Since Version 11 you can (and have to) do this via the web interface. So I changed the php setting of the subscription to {WEBSPACEROOT}/:{TMP}/:/srv/typo3 (where /srv/typo3 is the path to my global Typo3 installation) and I got a step further.

Next try to load the site. After a while just a blank page showed up. Quick view into the error_log show this message

Lock file could not be created
Exception thrown in file ...

This is an easy one: Just adjusted the permissions of you typo3temp directory and everything went fine.

Typo3 cli_dispatch.phpsh scheduler Exception ‘localconf.php is not found!’

After a system update or something else it may happen you get an Exception of your Typo3 Installation. It’s not always the main site but can also could be your “cron” scripts (cli_dispatch.phpsh)

Fatal error: Uncaught exception 'Exception' with message 'localconf.php is not found!' in ../t3lib/config_default.php:707
Stack trace:
#0 ../typo3/sysext/cms/tslib/index_ts.php(128): require()
#1 ../index.php(84): require('...')
#2 {main} thrown in ../t3lib/config_default.php on line 707


or

Fatal error: Uncaught exception 'Exception' with message 'localconf.php is not found!' in ../t3lib/config_default.php:707
Stack trace:
#0 .../typo3/init.php(206): require()
#1 .../typo3/index.php(63): require('...')
#2 {main} thrown in .../t3lib/config_default.php on line 707

Of course the line numbers could be different 😉
So …. what’s the problem? It so simple that you just forget how you solved it the last time. “Last time? I don’t remember that there was a last time!?”. But you did!
Just check the php.ini and ensure that safe_mode = Off is set. Furthermore check the open_basedir setting. Ensure that (when used at all) all needed directories are set.

Typo3: indexed_search and external files (like pdf, doc …)

I’ve tried to get indexed_search in Typo3 to work. If you try to do this the first time it isn’t really easy.

After the basic setup the normal search was fine. However external documents like pdf and winword were not being indexed. Of course I’ve installed the needed tools and checked the path to them many times. Sure I’ve check if that these tools (pdftotext, catdoc) are running fine on command line.

But it took me hours to realize why it wasn’t running after all. The open_basedir restriction of php!
The extension indexed_search first checks if the program exists via the is_file method. If you installed the programs to the default path /usr/bin you are in trouble now. It’s no problem to execute the program via php but the function is_file will fail. So indexed_search thinks it’s not install and will not index pdf or any other external files.

Now you’ve several options. First of all you could add /usr/bin to the open_basedir path. Not a good idea at all! Second you could modify the extension not to check the files but just run the programs. Not so good either since it will break after an update of your Typo3 installation. Third of all you could copy the programs to your existing open_basedir path. Then adjust the configuration of indexed_search where to find the programs and it’s working like a charm …

Typo3 and log_setTSlogMessage

While trying to get indexed_search in Typo3 to work I’ve discoverd a lot of log_setTSlogMessage functions in the code. I ask myself where to find the output of these function. I digged around and found a reference to $GLOBAL['TT']. Ok. Not much better. Again I had to dig around. Finally I got a simple answer: The Admin Panel! 🙂
So just enable the admin panel and go to TypoScript and enable Display messages. Reload the page and you’ll the logs.

Typo3 on Strato webhoster

If you ever need to install a Typo3 4.3 or higher on a Strato you may encounter a problem with ImageMagick. First of all you need an package which supports ImageMagick! If you package supports it then you may have the problem that ImageMagick Version 4.2.9 will not work and gives you that error: “There was no result from the ImageMagick operation“.

To solve this go to the All Configuration section of your Typo3 4.3 or higher installation. Search for [im_stripProfileCommand] and set it to blank.

That’s it!