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:

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 '...

Get all titles of a many_many component in a GridField summary

Assuming you have a DataObject with $many_many Tags, you can easily add all Tag's Titles comma seperated to $summary_fields using PHP's join method, even sorted by the SortOrder of the...
Read more about 'Get all titles of a many_many component in a GridField summary'...

1 2 3 4 5