Şablonumdaki CSS stillerini nasıl geçersiz kılabilirim?


21

Template Club X / Y / Z'den bir ücretsiz / ticari Joomla şablonu kullanırken, kendi CSS stillerimi eklemenin en iyi yolu nedir?


1
Bir custom.css stil sayfası ekleyin. Eğer şablonunuz otomatik olarak açmazsa, head.php içine genellikle yolunu ekleyebilirsiniz: templates / templatename / tpls / blocks / head.php <link rel = "stylesheet" href = "/ templates / templatename / css / custom.css "type =" text / css "/>
Tony M

Yanıtlar:


22

Neden CSS geçersiz kılmaları kullanıyorsun?

Önceden oluşturulmuş bir Joomla şablonu kullanıyorsanız, CSS stillerinizi mevcut şablon stilinden ayrı tutmak her zaman iyi bir fikirdir.

  • Bakımı daha kolay
  • Şablonu yükseltirseniz değişiklikleriniz kaybolmaz
  • Değişiklikleri başka bir şablona veya başka bir siteye kolayca kopyalayabilir / taşıyabilirsiniz.

CSS geçersiz kılmalar nasıl çalışır?

CSS, bu bağlamda "Basamaklı Stil Sayfaları", "Basamaklı" anlamına gelir; bu, belirli bir HTML parçasına birden fazla stil sayfası kuralının uygulanabilmesi nedeniyle, kullanılan kuralın, daha genel kurallardan gerekli olan belirli kurallara göre basamaklandırılarak seçilmesi anlamına gelir. en spesifik kural seçilir) veya herhangi bir elemanın kural sırasına göre (bulunan son kural seçilir).

Özelleştirilmiş CSS dosyanız varsayılan şablon CSS dosyalarından sonra yüklendiği sürece, belirli öğeleri gerektiği gibi geçersiz kılmak için kendi stillerinizi ekleyebilirsiniz (aşağıda bunun dışında bazı istisnalar vardır).

Genel kullanım

Joomla <head>etiketine özel bir stil sayfası yüklemek için, index.phpdosyanızın YOURDOMAIN.COM/templates/yourtemplate/index.phpen son </head>yüklenmesini sağlamak için bitiş etiketinden hemen önce şablonunuzun dosyasına ( ), aşağıdaki kod eklenebilir .

JHtml::_('stylesheet', JUri::root() . 'templates/' . $this->template . '/css/custom.css');

(CSS dosyasının herhangi bir adı olabilir ve / css / alt klasöründe olması gerekmez, ancak bu şekilde daha temizdir.)

Normal bir <link>etiket eklemek de mümkündür , ancak bu yukarıda belirtilen seçenekten daha az esnektir:

<link rel="stylesheet" href="/joomla//templates/mytemplate/css/custom.css" type="text/css" />

!Önemli

Bazı uzantılar sizinkinden sonra CSS stillerini yükleyebilir (veya doğrudan index.php dosyasına stiller ekleyebilir), böylece geçersiz kılmaları geçersiz kılabilir. Bu genellikle !importantstillerinize ekleyerek çözülebilir , örneğin.h1{color:red!important;}

Farklı çerçevelerde kullanım

Şimdi eğlenceli kısım: Pek çok şablon çerçevede, kullanıcıların şablonlarında değişiklik yapmalarını isteme olasılığı var, böylece CSS geçersiz kılmalarını dahil etmenin kolay bir yolu var. İşte kullanılan yöntemlerden bazıları:

RocketTheme Gantry 4

RocketTheme şablonları Gantry Framework tarafından desteklenir ve bulunursa, özelleştirilmiş bir CSS dosyası otomatik olarak yüklenir. CSS dosyası yerleştirilmelidir /templates/yourtemplate/css/klasör ve isim olmalıdır olacak YOURTEMPLATEFOLDER-custom.css.

Örnek: Ücretsiz Afterburner 2şablonlarını kullanıyorsanız , varsayılan şablon dizinidir /templates/rt_afterburner2/. rt_afterburner-custom.css/ Css / alt klasöre (alt çizgi ve kısa çizgi ile dikkatli) adlı bir dosya eklediğinizde, Gantry çerçevesi tarafından otomatik olarak yüklenir.

Şekil 5

Şekil 5 şablonları, şablonunuzun custom.css/ css / alt dizininde boş bir dosyayla birlikte gelir . Stillerinizi bu dosyaya ekleyin, düzeninize dahil edilsinler.

Gavick Pro

Gavick Pro şablonları overrides.css, / css / alt dizininde boş bir dosya ile gönderilir. Ancak bu dosyanın varsayılan olarak yüklenmediğine dikkat edin Override CSS, şablon ayarlarındaki Gelişmiş Ayarlar sekmesinde etkinleştirmek zorundasınız .

Joomla Parlatıcı

/ Css / alt klasörü şablon örn özel bir CSS dosyası oluşturun custom.cssve dosya adını belirtin Extensions -> Templates -> [template name] -> SEO & System -> Custom CSS/JS File(s).

T3 Çerçeve

T3 Çerçevesini temel alan custom.cssşablonlar, şablonunuzun / css / alt klasöründe bir dosya içerebilir / içermeyebilir / içermeyebilir (eğer orada değilse basitçe oluşturabilirsiniz), ancak mevcut olduğunda, dosya başka bir CSS dosyasından sonra yüklenecektir.

Çözgü Çerçevesi

Çözgü Çerçevesini temel alan şablonlar custom.css, / css / alt klasöründe bulunan dosyayı otomatik olarak yükler . Ek CSS dosyaları ekleyerek yüklenebilir

$this->warp->stylesheets->add('css:yourcssfile.css');

dosyaya /layouts/template.config.php.


2
Genel kullanım için, başka bir cevapta JHtml::_('stylesheet', 'path/to/file')daha addStyleSheetönce tartışıldığı gibi kullanmayı öneririm :) Bunun dışında kanlı iyi cevap. Kesinlikle insanlar için kullanışlı olacak
Lodder 19

Teşekkürler, @Lodder. Umarım bu bilgi insanlara faydalı olabilir. Önerinizle ilgili olarak, tartışmayı okudum. İle nasıl JHtml::_kullanılabilir $this->template?
johanpw

2
JHtml::_('stylesheet', JUri::root() . 'templates/' . $this->template . '/css/style.css');
Lodder

3
Aslında, yeni roket temaları LESS kullanır. Tek yapmanız gereken LESS klasöründe template-custom.less adlı bir dosya oluşturmak ve kodunuzu buna koymak. Sonra LESS'in getirdiği numaraların tadını çıkarabilirsiniz. Çözgü 7, stiller klasöründe kendi "stilinizi" oluşturmanıza olanak tanır ve gerçekte bir custom.css dosyasını THAT klasörüne (kendi css klasörünün içine) yapıştırabilirsiniz. Bu şekilde her stilin kendi özel CSS'si olabilir. Ayrıca, şablon yükseltmelerine dayanıyor. Varsayılan custom.css dosyasını kullanmak, temayı her güncellediğinizde üzerine yazılacağı anlamına gelir.
Brian Peat

1
Harika cevap ve çok faydalı! Eğer özel CSS dosyaları için hüküm içermemektedir şablonları / çerçeveler için eklemek isteyebileceğinizi Başka bir seçenek de CSSConfig gibi üçüncü parti uzantısı kullanılmasıdır extensions.joomla.org/extensions/style-a-design/templating/... hangi bu amaç için tasarlanmıştır.
Neil Robertson

7

Joomla 3.5+ (Protostar şablonu)

Joomla 3.5'ten itibaren, adı verilen dosyayı oluşturabilir user.cssve içine yerleştirebilirsiniz:

templates / protostar / css / user.css

Not: Dosya adı olmalıdır olmakuser.css


Protostar şablonu şunları kontrol eder:

  • dosya var
  • Dosya boyutu > 0.

Her iki koşul da yerine getirilirse, bu dosyayı sizin için otomatik olarak alır.

Github'daki Çekme İsteğine bakın


5

Helix Framework ( JoomShaper )

Özelleştirme iş akışını kolaylaştıran başka bir Joomla şablon çerçevesi.

Helix Framework şablonları, özel stillerinizi 2 kullanışlı yöntemle eklemek için kolay bir yol sağlar.

  1. Arka uçtaki şablon kontrol panelinde bir Özel CSS alanı vardır. Buraya, sayfalarınızın baş kısmına stil öğesi olarak eklenecek olan css'inizi yazabilirsiniz ve böylece diğer harici css dosyalarına göre öncelik kazanacaktır. Elbette bu seçenek ideal değildir, css satırları yazmayı planlıyorsanız, bu nedenle ikinci bir yöntem vardır.

  2. Diğer birçok şablon çerçevesi gibi, Helix ayrıca kendi custom.css dosyanızı yaratma olanağını da sağlar. Basitçe oluşturun ve şablonun css klasörünün içine yerleştirin. Şablon onu ayrıştırır ve sayfalarınızın baş bölümüne ekler.


3

Johanpw, özellikle birçok ticari şablon için css geçersiz kılma konusunda ... kendi sorusundaki cevabı ile çok iyi bir iş çıkardı.

Sadece iki kuruşumu buraya eklemek istiyorum.

Johanpw'in de altını çizdiği gibi, CSS geçersiz kılmaları oluşturmak önerilen uygulamadır. Özel CSS'nizi bildiğiniz tek bir dosyada tutmak, bir güncelleme yapılması gerektiğinden silinmeyecek veya geçersiz kılmayacaktır.

Tüm Joomla eklentileri için hatırlanması önemlidir. Bir modülün veya bileşenin çekirdek css dosyasını değiştirmeye çalışmayın. Bunun yerine, kendi özel template.css dosyanızı oluşturmaya çalışın, dosyayı en son yükleyin ve orada tüm özel stillerinizi oluşturun.

Ticari bir şablonun css geçersiz kılma eklemek için bir yol sağlamadığı durumlarda, bunun gibi bir uzantı kullanabilirsiniz: Buna tam olarak izin veren Özel CSS Ekle . Özel css'nizi oluşturmak için dosyayı geçersiz kılın ve en son yükle

Sık sık yönettiğim sitelerde yaptığım bir diğer seçenek ise, şablonu değiştirmek ve şablonun kapanış etiketinden hemen önce custom.css dosyama kendi bağlantımı eklemektir . Bu, bir şablon güncellemesi geldiğinde başa çıkabileceğim, küçük ve hatırlaması kolay bir değişiklik.


3

Köprü 5 (RocketTheme)

Gantry 5 , popüler şablon çerçevesinin en son sürümüdür ve birçok yeni özellik ve yetenek sağlar.

CSS geçersiz kılmalarına gelince, çok fazla esneklik ve seçenek var.

Standart Gantry 5 şablonu olarak piyasaya sürülen Hidrojen Temasını alarak, özel adında bir klasör sağlar.

Bu klasör kullanıcıya, özel çerçeve / şablon için özel dosyalarını / geçersiz kılmalarını yerleştirmesi (şablon / html klasöründe kalan Joomla şablon geçersiz kılmalarıyla karıştırılmaması) için sağlanmıştır. Oraya custom.css dosyasını yerleştirebilirsiniz. Daha sonra Portal Şablonu Yönetim Paneli aracılığıyla, şablon düzenlerinizi özelleştirebilir ve custom.cs'lerinizi şablona eklemek için bir Özel CSS / JS Atom Parçacığı (yeni bir portal 5 özelliği) kullanabilirsiniz . Gantry 5 ayrıca custom.css dosyanızı kolayca bağlamak için akış bağlantıları olarak da adlandırılır (kısayollar gibi).

Yani Atom parçacığının içinden onu kullanarak bağlarsınız:

gantry-theme://custom/thing.css

gantry-theme://Kısayol, her zaman geçerli portal şablonu klasörüne sevk edecektir.

Bu yaklaşımı kullanmak, portal5 şablonunuzun belirli şablon anahatları için custom.css eklemenin etkili bir yoludur.

Tüm portal şablonu için global olarak çalışan ikinci bir yaklaşım , içine custom.scss dosyası ekleyerek olur :

template_directory/custom/scss/custom.scss

Bunu yaptığınızda, gantry5 her zaman bu scss dosyasını yükleyip derler ve uyguladığınız css kuralları şablonun varsayılan kurallarını geçersiz kılar.

Scss dosyasında SCSS veya basitçe css kullanarak mükemmel bir şekilde gayet iyi. Derleyici her ikisini de derleyebilir.

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.