Werner Krauss

Freelancer. Does PHP since 1998 and uses Silverstripe since 2009. Runs different customer websites and his main project, www.hallstatt.net with it.

When he's not in front of his laptop he enjoys family and playing his guitar.

Posts by Werner Krauss for Blog:

Fluent and Partial Caching

Fluent is a great SilverStripe module for translating sites, that need the same tree for all locales. Unfortunately there are some pitfalls with partial caching.
Read more about 'Fluent and Partial Caching'...

Speed up a vagrant machine on windows

Vagrant is a great tool for developing a SilverStripe site, it's easy to set up a new VM for each project.
Read more about 'Speed up a vagrant machine on windows'...

Show filenames in templates for debugging

SilverStripe's template engine hides by default names of templates. While developing and debugging template stuff you'd like to see them in your rendered page.
Read more about 'Show filenames in templates for debugging'...

Block javascript in template

Everyone knows that Requirements::block('/path/to/javascript.js'); in php blocks this file from being loaded. This is important to e.g. require a newer version of jQuery.
Read more about 'Block javascript in template'...

Easier coding with PHPStorm templates

If you're using PHPStorm or Intellij IDEA you might know, that you can use some templates to ease your work.
Read more about 'Easier coding with PHPStorm templates'...

$_FILE_TO_URL_MAPPING and symlinks

Howto solve "[Warning] Director::protocolAndHost() lacks sufficient information - HTTP_HOST not set" when your webroot is symlinked to the latest release?


Read more about '$_FILE_TO_URL_MAPPING and symlinks'...

Setters done right

In case you're a fan of addding setters to your class or DataExtension avoid some simple pitfalls.
Read more about 'Setters done right'...

LogicException: getItemPath returned null for ClassName

When writing unit tests, sometimes you have a hard time to get them working. Today the error "LogicException: getItemPath returned null for ClassName" drove me crazy, but I found a solution.
Read more about 'LogicException: getItemPath returned null for ClassName'...

How to move all Pages and DataObjects from Main Site to a Subsite

In case you want to move "Everything (tm)" from Main Site to a Subsite, there is no ready-to-use task available.
Read more about 'How to move all Pages and DataObjects from Main Site to a Subsite'...

ModelAdmin: filter by $many_many with a dropdown

When you have a DataObject with a $many_many "Tags" => "Tag" you can add a filter dropdown in ModelAdmin by overwriting the scaffoldSearchFields() method:
Read more about 'ModelAdmin: filter by $many_many with a dropdown '...

1 2 3 4