Drupal 8 de oluşturduğumuz içerik türünde uç kullanıcının class eklemesi bir hayli zor olmakla beraber , göstereceğim yöntem ile basit bir şekilde kullanıcılarınıza class tanımlaması yaptırtabilirsiniz.
Yapmamız gereken işlem bir paragraf type oluşturuyoruz ve bu paragraf type kısmında kullanıcılarımızın girebilecekleri class verilerini tanımlıyoruz.
Örnek olarak kullanıcımıza girdiği içerik için renk seçtirme opsiyonu yapacağız.
prg_standart adında bir paragraf oluşturuyoruz. Bu paragrafa body ( Text (formatted, long) ) alanı ekleyelim. Ek olarak bir de kullanıcıların renk seçimi yapabilmesi için field_prg_standart_color( List (text) ) adında bir alan ekleyelim.
Eklediğimiz field_prg_standart_color alanının field settings kısmına aşağıdaki renkleri ekliyorum.
yellow|yellow
green|green
orange|orange
black|black
blue|blue
red|red
grey|grey
Sol taraf sistemde görünecek isim, sağ taraf ekranda görünecek isim şeklinde ekleme işlemini tamaladıktan sonra ;
Sitemin dosyalarının içerisinde bulunan mysite.theme dosyasını açıyorum ver alttaki kodlamayı sisteme ekliyorum. Burada yapıaln işlem sistemde içerik oluşturulurken paragraf eklendiyse ve bu paragraf bizim renk seçimi için oluşturduğumu paragraf ise tetiklenecektir.
Paragrafta seçilen veriler alınır , alınan verilerde renk için açtığımız paragraf field ında seçim yapılışsa o seçim yapılan veriyi (örneğin yellow seçildi , class a eklenecek değer yellow) classımıza ekler.
function mysite_preprocess_paragraph__prg_standart(&$variables) {
$paragraph = $variables['paragraph'];
if (!$paragraph->field_prg_standart_color->isEmpty()) {
$class = $paragraph->field_prg_standart_color->getValue()[0]['value'];
$variables['attributes']['class'][] = $class;
}
}
Sonrasında yapmamız gereken işlem css dosyamıza girip yellow classına css yazmak olacaktır.
.yellow { color :yellow ; background-color : #ffa500; padding :5px; }
GOSB Teknopark Hi-Tech Bina 3.Kat B3 Gebze - KOCAELİ