PHP code example of ceniver / laravel-blog

1. Go to this page and download the library: Download ceniver/laravel-blog library. Choose the download type require.

2. Extract the ZIP file and open the index.php.

3. Add this code to the index.php.
    
        
<?php
require_once('vendor/autoload.php');

/* Start to develop here. Best regards https://php-download.com/ */

    

ceniver / laravel-blog example snippets


'pages' => [
    // Paket ile gelen varsayilanlar
    [
        'page_type' => 'homepage',
        'name'      => 'Ana Sayfa',
        'variables' => ['{site_name}', '{locale}'],
    ],
    [
        'page_type' => 'blog_index',
        'name'      => 'Blog Listesi',
        'variables' => ['{site_name}', '{locale}'],
    ],
    [
        'page_type' => 'blog_category',
        'name'      => 'Kategori Sayfasi',
        'variables' => ['{site_name}', '{category}', '{locale}'],
    ],
    [
        'page_type' => 'blog_article',
        'name'      => 'Makale Detay',
        'variables' => ['{site_name}', '{title}', '{excerpt}', '{locale}'],
    ],

    // Kendi ozel sayfalariniz
    [
        'page_type' => 'about',
        'name'      => 'Hakkimizda',
        'variables' => ['{site_name}', '{locale}'],
    ],
    [
        'page_type' => 'contact',
        'name'      => 'Iletisim',
        'variables' => ['{site_name}', '{locale}'],
    ],
    [
        'page_type' => 'product_detail',
        'name'      => 'Urun Detay',
        'variables' => ['{site_name}', '{product_name}', '{price}', '{locale}'],
    ],
],



namespace App\Http\Controllers;

use Ceniver\Blog\Services\HeadBuilder;
use Ceniver\Blog\Services\SeoService;

class HomeController extends Controller
{
    public function __construct(
        private HeadBuilder $head,
        private SeoService  $seo,
    ) {}

    public function index()
    {
        $locale = app()->getLocale(); // veya 'tr'

        $headHtml = $this->head->render('homepage', $locale, [
            'site_name' => $this->seo->siteName(),
            'locale'    => $locale,
        ]);

        return view('home', compact('headHtml'));
    }
}

// app/Http/Controllers/HomeController.php

public function index()
{
    $headHtml = $this->head->render('homepage', 'tr', [
        'site_name' => $this->seo->siteName(),
        'locale'    => 'tr',
    ]);

    return view('home', compact('headHtml'));
}

// app/Http/Controllers/ProductController.php

use Ceniver\Blog\Services\HeadBuilder;
use Ceniver\Blog\Services\SeoService;

class ProductController extends Controller
{
    public function __construct(
        private HeadBuilder $head,
        private SeoService  $seo,
    ) {}

    public function show(string $locale, Product $product)
    {
        $headHtml = $this->head->render('product_detail', $locale, [
            'site_name'    => $this->seo->siteName(),
            'product_name' => $product->name,
            'price'        => $product->formatted_price,
            'locale'       => $locale,
        ]);

        return view('products.show', compact('product', 'headHtml'));
    }
}

$headHtml = $this->head->render('product_detail', $locale, [
    'site_name'    => $this->seo->siteName(),
    'product_name' => $product->name,
    'price'        => $product->formatted_price,
    'locale'       => $locale,
], [
    // Bu degerler master panel sablonlarini override eder
    'title'       => $product->seo_title ?? null,
    'description' => $product->seo_description ?? null,
    'og_image'    => $product->image_url,
    'og_type'     => 'product',
    'canonical'   => url("/products/{$product->slug}"),
    'robots'      => $product->is_draft ? 'noindex, nofollow' : null,
    'schema_json' => json_encode([
        '@context' => 'https://schema.org',
        '@type'    => 'Product',
        'name'     => $product->name,
        'image'    => $product->image_url,
        'offers'   => [
            '@type'         => 'Offer',
            'price'         => $product->price,
            'priceCurrency' => 'TRY',
        ],
    ]),
]);

$headHtml = $this->head->render('about', $locale, [
    'site_name' => $this->seo->siteName(),
    'locale'    => $locale,
], [
    'hreflang' => [
        'tr' => url('/tr/hakkimizda'),
        'en' => url('/en/about'),
        'de' => url('/de/uber-uns'),
    ],
]);

$headHtml = $this->head->render(
    string $pageType,    // Sayfa tipi (config'teki page_type)
    string $locale,      // Dil kodu ('tr', 'en', vb.)
    array  $vars = [],   // Sablon degiskenleri
    array  $overrides = [] // Opsiyonel override degerleri
);
bash
php artisan blog:install
bash
# Config yayinla
php artisan vendor:publish --tag=blog-config

# .env'ye ekle
BLOG_MASTER_URL=https://panel.example.com
BLOG_MASTER_API_KEY=your-api-key-here
BLOG_DEFAULT_LOCALE=tr

# Migration
php artisan migrate
bash
php artisan vendor:publish --tag=blog-views