Tema API referansı
TubePress Tema API referansı: bir tube sitesi teması oluştururken veya özelleştirirken kullanabileceğiniz her genel şablon değişkeni, yardımcı işlev ve sınıf.
Bu sayfa, bir temanın kullanabileceği her şeyin tam referansıdır: her şablona enjekte edilen genel değişkenler, her şablona özgü değişkenler ve tema kodunda kullanılabilen yardımcı sınıflar. Bir tema oluşturuyor veya özelleştiriyorsanız, bu sayfayı Tema geliştirme ile birlikte açık tutun.
Her şablon ThemeRenderer::render($template, $data) tarafından işlenir. İşleyici, $_ önekli bir dizi genel değişken enjekte eder, şablona özgü $data ile birleştirir, theme.template_data filtresini çalıştırır, şablonunuzu $content içine arabelleğe alır, ardından layout.php'yi yükler.
Genel değişkenler
Bunlar her şablonda ve layout.php'de mevcuttur.
Site
| Değişken | Tür | Açıklama |
|---|---|---|
$_template | string | Geçerli şablon adı (örn. 'home', 'video') |
$_siteName | string | Ayarlardan site adı |
$_siteDescription | string | Site açıklaması |
$_siteUrl | string | Site URL'si |
$_videosPerRow | int | Izgara sütunları (4, 5 veya 6) |
$_user | array\|null | Oturum açmış kullanıcı veya null |
$_footerPages | array | Alt bilgi için işaretlenmiş statik sayfalar |
$_registrationEnabled | bool | Kayıt açma/kapatma |
$_ctrEnabled | bool | CTR sıralama açma/kapatma |
Görünüm
| Değişken | Tür | Açıklama |
|---|---|---|
$_siteLogo | string | Logo dosya adı (/uploads/branding/ içinde) |
$_siteFavicon | string | Favicon dosya adı |
$_siteBackground | string | Arka plan resmi dosya adı |
$_siteBackgroundMode | string | 'cover', 'contain' veya 'repeat' |
$_colorOverrides | string | CSS özel özellikleri içeren <style> bloğu |
$_menuSearch | bool | Arama çubuğunu göster |
$_menuItems | array | Gezinme öğeleri (key, label, url, enabled, templates) |
Yerel ayar
| Değişken | Tür | Açıklama |
|---|---|---|
$_locale | string | Geçerli yerel ayar kodu (örn. 'en') |
$_direction | string | 'ltr' veya 'rtl' |
$_isRtl | bool | Sağdan sola dil |
$_availableLangs | array | Mevcut diller |
$_langPrefix | string | URL öneki (örn. '/fr' veya '') |
Video kartı ayarları
| Değişken | Tür | Açıklama |
|---|---|---|
$_cardShowDuration | bool | Süre rozetini göster |
$_cardShowTitle | bool | Video başlığını göster |
$_cardMetaLeft | string | Sol meta: 'views', 'likes', 'time', 'none' |
$_cardMetaRight | string | Sağ meta (aynı seçenekler) |
$_cardGridGap | int | Izgara boşluğu (piksel) |
$_cardBorderRadius | int | Kart köşe yarıçapı (piksel) |
$_cardThumbnailHover | bool | Küçük resim üzerine gelme efekti |
$_cardTitleLines | int | Başlık satırları (1 veya 2) |
İzleme sayfası ayarları
| Değişken | Tür | Açıklama |
|---|---|---|
$_watchShowViews | bool | İzlenme sayısını göster |
$_watchShowDuration | bool | Süreyi göster |
$_watchShowDate | bool | Yayın tarihini göster |
$_watchShowLikes | bool | Beğeni / beğenmeme göster |
$_watchShowFavorites | bool | Favori düğmesini göster |
$_watchShowPornstars | bool | Oyuncuları göster |
$_watchShowChannels | bool | Kanalları göster |
$_watchShowCategories | bool | Kategorileri göster |
$_watchShowTags | bool | Etiketleri göster |
$_commentsEnabled | bool | Yorumlar etkin |
$_card* ve $_watch* değeri doğrudan yönetici Görünüm ekranından gelir; böylece site sahipleri koda dokunmadan temanızı yeniden biçimlendirebilir — bu değişkenleri sabit kodlamak yerine okuduğunuz sürece.Şablona özgü değişkenler
Genel değişkenlere ek olarak, her şablon kendi verilerini alır.
home.php
| Değişken | Tür |
|---|---|
$videos | array — video satırları |
$pagination | Pagination nesnesi |
$sort | string — geçerli sıralama anahtarı |
video.php
| Değişken | Tür |
|---|---|
$video | array — kategoriler, etiketler, oyuncular, kanallar içeren tam video |
$categories, $tags, $performers | array |
$comments | array |
$similar | array — benzer videolar |
$recommended | array — önerilen videolar |
$userVote | string\|null — 'like', 'dislike' veya null |
$isFavorited | bool |
category.php / tag.php / performer.php / channel.php
| Değişken | Tür |
|---|---|
$category / $tag / $performer / $channel | array — varlık |
$videos | array — video satırları |
$pagination | Pagination nesnesi |
$sort | string |
Listeleme şablonları
| Şablon | Önemli değişkenler |
|---|---|
categories.php | $categories — her birinin video_count'u vardır; CTR açıkken best_video_thumbnail |
performers.php | $performers — video_count; CTR açıkken best_video_thumbnail, total_ctr, CTR'ye göre sıralanmış; $pagination |
channels.php | Oyuncularla aynı yapı |
search.php | $query, $videos, $pagination |
Yardımcı sınıflar
Bu statik yardımcılar her şablonda mevcuttur.
| Sınıf | Temel metotlar |
|---|---|
ThemeRenderer | ::enqueueCSS($url, $priority), ::enqueueJS($url, $priority), ::partial($name, $data), ::bodyClass(), ::renderCSS(), ::renderJS() |
ThemeManager | ::assetUrl($path), ::themePath(), ::templatePath($t), ::active(), ::info($key) |
ImpressionTracker | ::collect($videoId), ::flush(), ::isBot() |
Format | ::number($n), ::duration($seconds), ::timeAgo($datetime), ::fileSize($bytes) |
Pagination | ->total, ->page, ->totalPages, ->offset, ->hasPrev(), ->hasNext(), ->pages(), ->prevUrl(), ->nextUrl() |
Router | ::url($path), ::csrfField(), ::csrfToken(), ::langPrefix() |
HookSystem | ::doAction($event, ...$args), ::applyFilter($filter, $value, ...$args) |
Auth | ::check(), ::user(), ::id() |
Setting | ::get($key, $default) |
__($key, $replacements) | Çeviri yardımcısı |
url($path) | Router::url($path) için kısayol |
İşleme akışı
- Kontrolcü işleyiciyi çağırır.
ThemeRenderer::render('home', ['videos' => $videos, …]). - Genel değişkenler enjekte edilir.
$_önekli site, görünüm, yerel ayar ve kart/izleme değişkenleri eklenir. - Eklentiler veriyi değiştirebilir.
HookSystem::applyFilter('theme.template_data', $data, $templateName)çalışır. - Şablon işlenir. Şablon dosyanız
$content'e arabelleğe alınır. - Düzen yüklenir.
layout.php,$content'i ve tüm değişkenleri alır. - Gösterimler temizlenir.
ImpressionTracker::flush(), toplu gösterim güncellemesini (CTR) gönderir. - Cron çalışır.
CronManager::run(), vadesi gelen planlanmış görevleri yürütür.
layout.php gereksinimleri
Bir temanın layout.php dosyası aşağıdakilerin tümünü yapmalıdır:
- Tam HTML kabuğunu çıktıla (
<!DOCTYPE html>…</html>). <head>içine<?= ThemeRenderer::renderCSS() ?>ekle.<head>içine<?= $_colorOverrides ?>ekle.<main>içine$content'i yazdır.</body>öncesine<?= ThemeRenderer::renderJS() ?>ekle.</body>öncesinde<?php ImpressionTracker::flush(); ?>çağır (CTR için).<head>içinde<?php HookSystem::doAction('head.meta'); ?>çağır.</body>öncesinde<?php HookSystem::doAction('footer.scripts'); ?>çağır.
Şablon geri dönüşü
Etkin temada bir şablon eksikse, TubePress, paketlenmiş Simply temasına geri döner. Bu nedenle özel bir tema yalnızca gerçekten değiştirmek istediği şablonları geçersiz kılması gerekir — bir şablondan başlayın ve oradan büyütün.
Sonraki adımlar
Hâlâ takıldınız mı?
Kontrol panelinizden bir destek talebi açın, ekibimiz size yardımcı olacaktır.