Adres satirina eklenenler
Template in olusturdugu kodu görmek icin
?isDev=1&showtemplate=1
önbellegi temizlememe
?flush=all
kodu ve db yi senkronlamak icin önemli (http://localhost/dev/build seklinde olmali)
/dev/build
Tüm sayfalari birden yayinlamak
/admin/publishall/
veritabanini olusturur ama kayitlari eklemez
/dev/build?dont_populate=1
config dosyasindaki degere aldirilmadan, Test moduna gec
?isTest=1
tüm queryleri göstermek icin:
?showqueries=1
tüm insert ve updateleri gösterir ama calistirmaz
?previewwrite=1
performance icin
?debug_memory=1 ?debug_profile=1 ?debug_profile=1&profile_trace=1
diger
?debugmanifest=1 ?debugmethods=1 ?debugfailover=1 ?debug_request=1 ?debug=1
mysite/_config.php icine eklenenler
development moda gecmek icin (standard live mod)
Director::set_environment_type('dev');
live moda gecmek icin
Director::set_environment_type('live');
source code da hangi template in hangi kodu olusturdugunu görmek icin
SSViewer::set_source_file_comments(true);
Dev modda sürekli siteyi ?/flush=1 yazmak yerine bu kullanila bilirni:
if(Director::isDev()){ SSViewer::flush_template_cache(); }
Cms de ana menüden birsey cikarmak icin
CMSMenu::remove_menu_item('ReportAdmin');
Logoyu degistirmek icin
LeftAndMain::setLogo( 'themes/bar/images/CMSLogo.png', 'margin: 2px;' );
Cms yüklenirken gösterilen logoyu degistirmek icin:
LeftAndMain::set_loading_image('themes/bar/images/CMSLoading.gif');
tinymce de diyelim tablo kontrollerini göstermek istemiyorsunuz ozaman bunu kullaniniz
HtmlEditorConfig::get('cms')->removeButtons('tablecontrols');
tinymce de setoptions
HtmlEditorConfig::get('cms')->setOption( 'convert_fonts_to_spans', false );
www siz istekleri hep www.siteadi.com a yönlendirmek icin
Director::forceWWW();
//sade live modda calisiyor
Googlesitemap modul kullaniyorsaniz her yeni sayfada google i haberdar etmek icin
GoogleSitemap::enable_google_notification();
resim kalitesi icin
GD::set_default_quality(95);
prototype js validasyonu kapatmak icin
Validator::set_javascript_validation_handler('none');
Dataobject lerin siralarmasini düzenlemek icin:
SortableDataObject::add_sortable_class('CustomImage');
arama fonksiyonunu acalim:
FulltextSearchable::enable();
Controller icinde
Theme klasörü icindeki bir Css dosyasini eklemek icin
Requirements::themedCSS('form', 'screen,projection');
Theme klasörü disinden bir Css dosyasi eklemek icin
Requirements::css('file', 'media');
tüm css dosyalarini combine etmek icin:
Requirements::themedCSS('print', 'print'); $theme = SSViewer::current_theme(); Requirements::combine_files('combined.css', array( THEMES_DIR . '/' . $theme . '/css/layout.css', THEMES_DIR . '/' . $theme . '/css/typography.css', THEMES_DIR . '/' . $theme . '/css/form.css', ));
özel css eklemek icin
Requirements::customCss('.once { font-weight: bold; }', 'once');
Head tagi icine mesela conditional statement eklemek icin
Requirements::insertHeadTags(' <!--[if lt IE 9]> <style type="text/css"> ...... </style> <![endif]--> ', 'IE-styling');
Javascript eklemek icin:
Requirements::javascript(THIRDPARTY_DIR . '/jquery/jquery-packed.js');
otomatik eklenen js dosyalarini engellemek icin
Requirements::block(THIRDPARTY_DIR . '/prototype/prototype.js');
sadece Live modda calismasini istedigin kod icin
if(Director::isLive()){..}
sade dev modda calismasini istedigin kod icin
if(Director::isDev()){ ... }
Google Analytics kodu eklemek icin
if(Director::isLive()){ Requirements::customScript(" var _gaq = _gaq || []; _gaq.push(['_setAccount', 'UA-XXXXXXXX-X']); _gaq.push(['_trackPageview']); (function(){ var ga = document.createElement('script'); ga.type = 'text/javascript'; ga.async = true; ga.src = ('https:' == document.location.protocol ? 'https://ssl' : 'http://www') + '.google-analytics.com/ga.js'; var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(ga, s); })(); ", 'google-analytics'); }
Kod icinde Debug:
Debug::show($variable); Debug::message('My message'); SS_Backtrace::backtrace() user_error('My message', E_USER_ERROR):
Model e eklenen ayarlar:
adminde görünmesini istemediginiz Sayfalar icin:
public static $hide_ancestor = 'Page';
Cms deki Sayfalar icon eklemek icin:
public static $icon = 'mysite/icons/intro';
cikti: mysite/icons/intro-file.gif
dikkat edilmesi gereken -file.gif kendiliginden ekleniyor.
sade üst sayfa icin (true) alt sayfa olmasi icin(false)
public static $can_be_root = false;
Sayfanin hangi alt sayfalari ola bilir diye belirlemek icin:
public static $allowed_children = array('ContentPage');
CMS e tab eklemek veya silmek icin:
$fields->removeFieldFromTab('Root.Content.Main', 'Content'); $fields->addFieldToTab().('Root.Content.Main', 'Content');
query gidecek olan icerikleri escape etmek icin:
$good = Convert::raw2sql($_GET['evil']); DataObject::get_one('SiteTree', "URLSegment = '$good'");
tüm model deki metodlari veya degiskenler public olmalidir
Controllerde ise:
url den erisilicek olan metodlar public
helper olarak calisacak olan metodlar protected
init ise public olmalidir
metodlari url den erisilmesi icin bunuda kullana bilirsiniz.
public static $allowed_actions = array('visible');
extern bir sayfaya giden linki yeni bir camda (tab) da acmak icin
<% if is_a(RedirectorPage) %><% if RedirectionType = External %>target="_blank"<% end_if %><% end_if %>