SilverStripe with php built-in server

Sometimes you just want to check a SilverStripe version, module or theme fast and dont want to setup the whole stack.
Then simply use PHPs built-in webserver to serve your SilverStripe site.

php -S localhost:8000 ./framework/main.php

Now you can call http://localhost:8000 to check your SilverStripe website.

Or, a bit more verbose, use https://github.com/assertchris/silverstripe-serve
which is a nice wrapper around this.
Continue reading “SilverStripe with php built-in server”

SilverStripe LinkField addon

Alright folks, so here is the SilverStripe addon of the month:
https://github.com/sheadawson/silverstripe-linkable

Its the missing LinkField, you might look for.
There are some more addons for a LinkField out there, but this one is the best.
No wonder, the author is SilverStripe employee.

It features:

  • external links
  • link validation
  • link a page from your site
  • link a file from your assets
  • oEmbed links
  • the addon is translated, currently only for german, but add your own, its easy!

Continue reading “SilverStripe LinkField addon”

Using Silverstripe Templates outside Silverstripe

In a recent website-project i had a WordPress Blog running next to the main CMS Silverstripe, handling the Blog-part of the site.

Integrating the Blog in Silverstripe (which indeed would have made things simpler) was not  an option at the time. The usage of loads of WordPress plugins would’ve made a rewrite a major task, which was out of the budget.

The blog was integrated in the same page layout as the rest of the website. So ideally it would at least share the same Templates for header, footer etc. and would integrate the sites navigation built by Silverstripe.

But how to use the pre-rendered Silverstripe template .ss files in a WordPress theme?

The following worked fine for me, using Silverstripe 3.0:
Continue reading “Using Silverstripe Templates outside Silverstripe”

Rename admin menu items in SilverStripe

SilverStripe 3.0.x cheap trick of the week:

If you want to rename a menu item in the SilverStripe Admin Area, because f.e. you find “Security” or “Sicherheit”(since we are german ;)) a too harsh wording and you prefer “Members” or “Benutzer”:
simply override the translation!

Add a lang folder in your project folder and add the language file:
de.yml or en.yml and place your wording:

de:
SecurityAdmin:
MENUTITLE: Benutzer

Continue reading “Rename admin menu items in SilverStripe”

SilverStripe speed up Portfolio Sites with Static Publisher

A common site type that we build are portfolio pages
which mostly get filled once in the beginning and then only periodically, rather rarely.
They also have almost never User interaction from the Frontend.

So we consider them as almost “readonly” sites.

These sites you can easily speed up “dramatically” with the SilverStripe builtin StaticPublisher.
The tweaks you need for this are moderate to easy.

You can read the Docs to get a glimpse of what is possible.
I will just describe the basic setup to make a site static.
Continue reading “SilverStripe speed up Portfolio Sites with Static Publisher”

Silverstripe remove CustomScript

Silverstripe Tip of the week:

Sometimes you have to remove a customScript of a module, because you want to script it differently.

If the module author was so wise to give his customScript a ID (UserFormsValidation in this case) like they did in UserForms:

Requirements::customScript(<<<JS
(function($) {...})(jQuery);
JS
, 'UserFormsValidation');

then you can do the following in the init function of your subclass controller:

Requirements::block('UserFormsValidation');

Easy, isnt it?

Silverstripe RedirectorPage open external Link in new window

Silverstripe Tip of the Week:

If you want to open a “Other website URL” Link of a RedirectorPage in a new window with target=_blank, you can use the following snippet:

<% if ExternalURL %>
<a href="$ExternalURL" class="external" target="_blank">$MenuTitle.XML</a>
<% else %>
<a href="$Link">$MenuTitle.XML</a>
<% end_if %>

Edit:
Or this one:

<% if is_a(RedirectorPage) %><% if RedirectionType = External %>target="_blank"<% end_if %><% end_if %>

found here: http://www.silverstripe.org/general-questions/show/9600

Hope it Helps!

Opengraph MetaTags in SilverStripe

First off some general thoughts on how to use opengraph metatags.
Since the uprise of Social Media, sharing sites, deeplinking and snippetting content has become a important aspect of SEO and so almost every site has some kind of facebook-like-button to let user easily share the page.
Most sharing endpoints, facebook f.e, bring a more or less good parser/linter to summarize the page content. So the first text paragraph will be taken as text snippet and all images that fit certain requirements will be offered to chose a preview-thumbnail from.
So far so good.
Continue reading “Opengraph MetaTags in SilverStripe”