Concrete5 + Bootstrap3 tema - Att tänka på

Nedan går jag igenom lite problem jag stötte på när jag byggde temat till Ologiskt.com med bootstrap3 i concrete5 5.7.0.4.


Att tänka på

- Har egentligen inget med Boostrap att göra men "Stäng av cachen" =) . Du gör detta under /dashboard/system/optimization/cache.

- När du skapat ditt tema se till att ha en fil i roten på ditt tema som heter page_theme.php . Du kommer behöva denna då Concrete5 bygger på Bootstrap3 och om du inkluderar boostrap/css/js så kommer det importeras dubbelt  i din sida.

Enklaste möjliga innehåll i denna fil:

<?php

namespace Application\Theme\Temanamn;

use Concrete\Core\Page\Theme\Theme;

class PageTheme extends Theme

{

protected $pThemeGridFrameworkHandle = 'bootstrap3';

public function registerAssets() {

$this->providesAsset('javascript', 'bootstrap/*');

$this->providesAsset('css', 'bootstrap/*');

$this->requireAsset('javascript', 'jquery');

}

Du kan kopiera detta rätt av om ditt tema lägger till bottstrap/js/css men inte jquery som kommer läggas till av concrete5.

- Kanske en självklarhet men att lägga till "Areas" i ditt tema så får du js fel om du lägger dessa i <a></a> taggar.

<a href="#"><?php $a = new Area('Article free-row'); $a->display($c); ?></a>

- Skall du använda Bootstrap navbar så skapa ett template för ett "autonav" block i din "application"-mapp som ändrar output för blocket.
Detta kan du göra med alla typer av block när du vill ha speciell struktur på din html.

- I version 5.7.0.4 funkar det inte med hårdkodade block att ange en template, uppdatera till 5.7.1 där det är fixat eller använd:

$nav->controller->blockViewRenderOverride = 'templates/bootstrapnavbar2/view';

Istället för:

$nav->render('templates/bootstrapnavbar2/view'); 

Tips

På http://www.concrete5.org/documentation kan du lära dig mycket om Concrete5.

Det som jag kollade på för att få en förståelse över hur Concrete5 funkar innan jag började sitta själva var del 1-4 av Theme Development:
http://www.concrete5.org/documentation/recorded-tr...

Har du inte jobbat med Concrete5 innan så kan jag varmt rekommendera att börja där.

Tänk dock på att det har händ en del med Concrete5 sen v 5.7 och det är en äldre version de kör på i videorna, men grundprincipen är den samma.

Stora skillnaden mot äldre version är att man inte lägger egen kod i roten utan allt samlas under mappen "application".


Publicerad: 2014-10-22 18:28:00

Andra artiklar

Nedan finner du ett urval av ett noga slumpartade artiklar som skall få dig att vilja läsa mer. 


Kommentarer