{"id":31583,"date":"2025-10-11T14:01:17","date_gmt":"2025-10-11T11:01:17","guid":{"rendered":"https:\/\/fatihsoysal.com\/blog\/filament-v4-gruplari-yonetim-panelinde-guclu-yapilandirma\/"},"modified":"2025-10-11T14:01:17","modified_gmt":"2025-10-11T11:01:17","slug":"filament-v4-gruplari-yonetim-panelinde-guclu-yapilandirma","status":"publish","type":"post","link":"https:\/\/fatihsoysal.com\/blog\/filament-v4-gruplari-yonetim-panelinde-guclu-yapilandirma\/","title":{"rendered":"Filament v4 Gruplar\u0131: Y\u00f6netim Panelinde G\u00fc\u00e7l\u00fc Yap\u0131land\u0131rma"},"content":{"rendered":"<article>\n<p>Filament v4&#8217;te grup y\u00f6netimi nas\u0131l yap\u0131l\u0131r? Bu kapsaml\u0131 rehber, y\u00f6netim panelinizde kullan\u0131c\u0131lar\u0131n\u0131z i\u00e7in esnek izinler ve mod\u00fcler yap\u0131lar olu\u015fturman\u0131z\u0131 sa\u011flayacak gruplama \u00f6zelliklerini ad\u0131m ad\u0131m a\u00e7\u0131kl\u0131yor. G\u00fcvenli, d\u00fczenli ve y\u00f6netilebilir bir panel deneyimi i\u00e7in gruplar\u0131n g\u00fcc\u00fcn\u00fc hemen ke\u015ffedin.<\/p>\n<style>\n        \/* Genel d\u00fczen i\u00e7in baz\u0131 temel stiller (Filament'in kendi stillerine ek olarak) *\/\n        body {\n            font-family: 'Inter', sans-serif; \/* Filament'in kulland\u0131\u011f\u0131 font ailesi *\/\n            line-height: 1.6;\n            color: #333;\n            background-color: #f9fafb;\n            margin: 0;\n            padding: 20px;\n        }\n        h2, h3 {\n            color: #1a202c; \/* Koyu gri tonu *\/\n            margin-top: 3em;\n            margin-bottom: 1em;\n            border-bottom: 1px solid #e2e8f0;\n            padding-bottom: 0.5em;\n        }\n        p {\n            margin-bottom: 1em;\n            text-align: justify;\n        }\n        pre {\n            background-color: #2d3748; \/* Koyu arka plan *\/\n            color: #e2e8f0; \/* A\u00e7\u0131k metin rengi *\/\n            padding: 1em;\n            border-radius: 0.5em;\n            overflow-x: auto; \/* Yatay kayd\u0131rma \u00e7ubu\u011fu *\/\n            margin-bottom: 1.5em;\n        }\n        code {\n            font-family: 'Fira Code', 'JetBrains Mono', monospace; \/* Kod fontu *\/\n            font-size: 0.9em;\n        }\n        ul, ol {\n            margin-left: 20px;\n            margin-bottom: 1em;\n        }\n        li {\n            margin-bottom: 0.5em;\n        }\n        table {\n            width: 100%;\n            border-collapse: collapse;\n            margin-bottom: 1.5em;\n            background-color: #fff;\n            box-shadow: 0 1px 3px rgba(0,0,0,0.1);\n        }\n        th, td {\n            border: 1px solid #e2e8f0;\n            padding: 0.8em;\n            text-align: left;\n        }\n        th {\n            background-color: #f7fafc;\n            font-weight: bold;\n        }\n        .expert-tip {\n            background-color: #e0f2fe; \/* A\u00e7\u0131k mavi *\/\n            border-left: 5px solid #0ea5e9; \/* Koyu mavi kenarl\u0131k *\/\n            padding: 1em 1.5em;\n            margin: 2em 0;\n            border-radius: 0.5em;\n            color: #0284c7; \/* Koyu mavi metin *\/\n            font-weight: 600;\n        }\n        .expert-tip strong {\n            color: #0c4a6e;\n        }<\/p>\n<p>        \/* Mobil uyumluluk \u00f6rnekleri *\/\n        @media (max-width: 768px) {\n            body {\n                padding: 10px;\n            }\n            h2 {\n                font-size: 1.8em;\n                margin-top: 2em;\n            }\n            h3 {\n                font-size: 1.4em;\n                margin-top: 1.5em;\n            }\n            table, thead, tbody, th, td, tr {\n                display: block;\n            }\n            thead tr {\n                position: absolute;\n                top: -9999px;\n                left: -9999px;\n            }\n            tr {\n                border: 1px solid #ccc;\n                margin-bottom: 1em;\n            }\n            td {\n                border: none;\n                border-bottom: 1px solid #eee;\n                position: relative;\n                padding-left: 50%;\n                text-align: right;\n            }\n            td:before {\n                position: absolute;\n                top: 6px;\n                left: 6px;\n                width: 45%;\n                padding-right: 10px;\n                white-space: nowrap;\n                content: attr(data-label); \/* Her s\u00fctun i\u00e7in etiket *\/\n                font-weight: bold;\n                text-align: left;\n            }\n        }\n    <\/style>\n<p>Modern web uygulamalar\u0131, g\u00fcn\u00fcm\u00fczde karma\u015f\u0131k i\u015f s\u00fcre\u00e7lerini ve farkl\u0131 kullan\u0131c\u0131 rollerini bar\u0131nd\u0131r\u0131r. Bu durum, y\u00f6netim panellerinde genellikle bir yetkilendirme ve organizasyon karma\u015fas\u0131na yol a\u00e7abilir. \u00d6zellikle b\u00fcy\u00fck \u00f6l\u00e7ekli projelerde veya \u00e7ok say\u0131da kullan\u0131c\u0131n\u0131n farkl\u0131 yetki seviyeleriyle \u00e7al\u0131\u015ft\u0131\u011f\u0131 durumlarda, y\u00f6netim paneli men\u00fc yap\u0131s\u0131n\u0131 d\u00fczenli ve anla\u015f\u0131l\u0131r tutmak b\u00fcy\u00fck bir zorluk haline gelir. \u0130\u015fte tam bu noktada Filament v4&#8217;\u00fcn gruplama \u00f6zellikleri devreye giriyor ve y\u00f6netim paneli deneyimini k\u00f6kten iyile\u015ftiriyor.<\/p>\n<p>Filament&#8217;teki gruplar, temelde navigasyon \u00f6\u011felerinizi (kaynaklar, sayfalar, \u00f6zel URL&#8217;ler vb.) mant\u0131ksal birimler halinde bir araya getirmenize olanak tan\u0131yan g\u00fc\u00e7l\u00fc bir organizasyon arac\u0131d\u0131r. Bu sayede, &#8220;\u00dcr\u00fcn Y\u00f6netimi&#8221;, &#8220;Finans Raporlar\u0131&#8221; veya &#8220;Kullan\u0131c\u0131 Ayarlar\u0131&#8221; gibi tematik ba\u015fl\u0131klar alt\u0131nda ilgili t\u00fcm mod\u00fclleri toplayabilirsiniz. Dolay\u0131s\u0131yla, kullan\u0131c\u0131lar\u0131n arad\u0131klar\u0131 \u00f6zelliklere daha h\u0131zl\u0131 ula\u015fmalar\u0131n\u0131 sa\u011flamakla kalmaz, ayn\u0131 zamanda genel panel yap\u0131s\u0131n\u0131 daha mod\u00fcler ve y\u00f6netilebilir hale getirirsiniz. \u00d6rne\u011fin, bir e-ticaret platformunda &#8220;\u00dcr\u00fcnler&#8221;, &#8220;Kategoriler&#8221; ve &#8220;Markalar&#8221; gibi kaynaklar, &#8220;\u00dcr\u00fcn Y\u00f6netimi&#8221; adl\u0131 tek bir grup alt\u0131nda toplanarak hem geli\u015ftiricinin i\u015fini kolayla\u015ft\u0131r\u0131r hem de son kullan\u0131c\u0131n\u0131n navigasyon deneyimini sezgisel hale getirir.<\/p>\n<p>Gruplar\u0131n bir di\u011fer kritik \u00f6nemi ise yetkilendirme mekanizmalar\u0131yla olan entegrasyonudur. Rol tabanl\u0131 eri\u015fim kontrol\u00fc (RBAC) sistemlerinde, bir kullan\u0131c\u0131n\u0131n belirli bir gruba veya gruptaki kaynaklara eri\u015fimini kolayca y\u00f6netebilirsiniz. Bu, &#8220;Pazarlama Ekibi&#8221; grubunun sadece &#8220;Kampanyalar&#8221; ve &#8220;Blog Yaz\u0131lar\u0131&#8221; gibi kaynaklara eri\u015febilmesini sa\u011flarken, &#8220;Finans Ekibi&#8221; grubunun &#8220;Faturalar&#8221; ve &#8220;\u00d6demeler&#8221; gibi kaynaklara odaklanmas\u0131n\u0131 m\u00fcmk\u00fcn k\u0131lar. B\u00f6ylece, gereksiz men\u00fc \u00f6\u011felerinin kullan\u0131c\u0131lar\u0131n kar\u015f\u0131s\u0131na \u00e7\u0131kmas\u0131n\u0131 engelleyerek hem g\u00fcvenlik katman\u0131n\u0131 art\u0131r\u0131r hem de kullan\u0131c\u0131 deneyimini \u00f6zelle\u015ftirirsiniz. Ayr\u0131ca, geli\u015ftirme s\u00fcrecinde, yeni bir \u00f6zellik eklerken hangi gruba ait olaca\u011f\u0131n\u0131 belirlemek, kod taban\u0131n\u0131n d\u00fczenli kalmas\u0131na ve s\u00fcrd\u00fcr\u00fclebilirli\u011fin artmas\u0131na yard\u0131mc\u0131 olur. Sonu\u00e7 olarak, Filament gruplar\u0131 sadece estetik bir d\u00fczenleme arac\u0131 olmaktan \u00f6te, kapsaml\u0131 bir y\u00f6netim paneli mimarisi olu\u015fturman\u0131n temel ta\u015flar\u0131ndan biridir.<\/p>\n<h2>Filament Gruplar\u0131 Nas\u0131l Tan\u0131mlan\u0131r ve Olu\u015fturulur?<\/h2>\n<p>Filament v4&#8217;te grup olu\u015fturmak olduk\u00e7a basit ve sezgisel bir s\u00fcre\u00e7tir. Temel olarak, panelinizi tan\u0131mlad\u0131\u011f\u0131n\u0131z <code>PanelProvider<\/code> dosyas\u0131 i\u00e7erisinde navigasyon gruplar\u0131n\u0131z\u0131 bildirmeli ve ard\u0131ndan kaynaklar\u0131n\u0131z\u0131 (resources), sayfalar\u0131n\u0131z\u0131 (pages) veya \u00f6zel URL&#8217;lerinizi bu gruplara atamal\u0131s\u0131n\u0131z. Bu i\u015flem, y\u00f6netim panelinizin sol men\u00fc \u00e7ubu\u011fundaki hiyerar\u015fiyi do\u011frudan etkiler ve kullan\u0131c\u0131lar i\u00e7in d\u00fczenli bir g\u00f6r\u00fcn\u00fcm sa\u011flar.<\/p>\n<p>\u00d6ncelikle, projenizin <code>app\/Providers\/Filament\/<\/code> dizini alt\u0131nda yer alan <code>AdminPanelProvider.php<\/code> (veya kendi panelinizin ad\u0131) dosyas\u0131n\u0131 a\u00e7man\u0131z gerekmektedir. Bu dosya i\u00e7erisinde, <code>panel()<\/code> metodunun zincirleme \u00e7a\u011fr\u0131lar\u0131ndan birinde <code>navigationGroups()<\/code> metodunu kullanarak gruplar\u0131n\u0131z\u0131 tan\u0131mlayabilirsiniz. Her bir grup, basit bir dizi nesnesi olarak belirtilir ve genellikle bir <code>label()<\/code> metoduna sahiptir. \u0130\u015fte temel bir \u00f6rnek:<\/p>\n<pre><code class=\"language-php\">\nnamespace App\\Providers\\Filament;\n\nuse Filament\\Http\\Middleware\\Authenticate;\nuse Filament\\Http\\Middleware\\DisableBladeIconComponents;\nuse Filament\\Http\\Middleware\\DispatchServingFilamentEvent;\nuse Filament\\Navigation\\NavigationGroup;\nuse Filament\\Pages;\nuse Filament\\Panel;\nuse Filament\\PanelProvider;\nuse Filament\\Support\\Colors\\Color;\nuse Filament\\Widgets;\nuse Illuminate\\Cookie\\Middleware\\AddQueuedCookiesToResponse;\nuse Illuminate\\Cookie\\Middleware\\EncryptCookies;\nuse Illuminate\\Foundation\\Http\\Middleware\\VerifyCsrfToken;\nuse Illuminate\\Routing\\Middleware\\SubstituteBindings;\nuse Illuminate\\Session\\Middleware\\AuthenticateSession;\nuse Illuminate\\Session\\Middleware\\StartSession;\nuse Illuminate\\View\\Middleware\\ShareErrorsFromSession;\n\nclass AdminPanelProvider extends PanelProvider\n{\n    public function panel(Panel $panel): Panel\n    {\n        return $panel\n            ->default()\n            ->id('admin')\n            ->path('admin')\n            ->login()\n            ->colors([\n                'primary' => Color::Amber,\n            ])\n            ->discoverResources(in: app_path('Filament\/Resources'), for: 'App\\\\Filament\\\\Resources')\n            ->discoverPages(in: app_path('Filament\/Pages'), for: 'App\\\\Filament\\\\Pages')\n            ->pages([\n                Pages\\Dashboard::class,\n            ])\n            ->discoverWidgets(in: app_path('Filament\/Widgets'), for: 'App\\\\Filament\\\\Widgets')\n            ->widgets([\n                Widgets\\AccountWidget::class,\n                Widgets\\FilamentInfoWidget::class,\n            ])\n            ->middleware([\n                EncryptCookies::class,\n                AddQueuedCookiesToResponse::class,\n                StartSession::class,\n                AuthenticateSession::class,\n                ShareErrorsFromSession::class,\n                VerifyCsrfToken::class,\n                SubstituteBindings::class,\n                DisableBladeIconComponents::class,\n                DispatchServingFilamentEvent::class,\n            ])\n            ->authMiddleware([\n                Authenticate::class,\n            ])\n            ->navigationGroups([\n                NavigationGroup::make()\n                    ->label('Ma\u011faza Y\u00f6netimi')\n                    ->icon('heroicon-o-shopping-bag'),\n                NavigationGroup::make()\n                    ->label('\u0130\u00e7erik Y\u00f6netimi')\n                    ->icon('heroicon-o-document-text'),\n                NavigationGroup::make()\n                    ->label('Sistem Ayarlar\u0131')\n                    ->icon('heroicon-o-cog-6-tooth'),\n            ]);\n    }\n}\n<\/pre>\n<p><\/code><\/p>\n<p>Yukar\u0131daki \u00f6rnekte, \u00fc\u00e7 farkl\u0131 navigasyon grubu tan\u0131mlad\u0131k: \"Ma\u011faza Y\u00f6netimi\", \"\u0130\u00e7erik Y\u00f6netimi\" ve \"Sistem Ayarlar\u0131\". Her bir gruba, kullan\u0131c\u0131 aray\u00fcz\u00fcnde daha anla\u015f\u0131l\u0131r olmas\u0131n\u0131 sa\u011flamak i\u00e7in bir etiket (<code>label()<\/code>) ve iste\u011fe ba\u011fl\u0131 olarak bir ikon (<code>icon()<\/code>) atad\u0131k. \u0130konlar genellikle Heroicons'tan gelir ve Filament taraf\u0131ndan otomatik olarak desteklenir.<\/p>\n<p>Gruplar\u0131n\u0131z\u0131 tan\u0131mlad\u0131ktan sonra, s\u0131ra ilgili Filament kaynaklar\u0131n\u0131 bu gruplara atamaya gelir. Bunu, her bir kayna\u011f\u0131n (Resource) kendi <code>getNavigationGroup()<\/code> metodu i\u00e7erisinde yapabilirsiniz. \u00d6rne\u011fin, \"\u00dcr\u00fcn\" kayna\u011f\u0131n\u0131 \"Ma\u011faza Y\u00f6netimi\" grubuna atamak i\u00e7in <code>app\/Filament\/Resources\/ProductResource.php<\/code> dosyan\u0131zda a\u015fa\u011f\u0131daki gibi bir de\u011fi\u015fiklik yapman\u0131z yeterlidir:<\/p>\n<pre><code class=\"language-php\">\nnamespace App\\Filament\\Resources;\n\nuse App\\Filament\\Resources\\ProductResource\\Pages;\nuse App\\Filament\\Resources\\ProductResource\\RelationManagers;\nuse App\\Models\\Product;\nuse Filament\\Forms;\nuse Filament\\Forms\\Form;\nuse Filament\\Resources\\Resource;\nuse Filament\\Tables;\nuse Filament\\Tables\\Table;\nuse Illuminate\\Database\\Eloquent\\Builder;\nuse Illuminate\\Database\\Eloquent\\SoftDeletingScope;\n\nclass ProductResource extends Resource\n{\n    protected static ?string $model = Product::class;\n\n    protected static ?string $navigationIcon = 'heroicon-o-cube';\n\n    protected static ?string $navigationGroup = 'Ma\u011faza Y\u00f6netimi'; \/\/ \u0130\u015fte atama burada!\n\n    \/\/ ... di\u011fer metodlar (form, table, getPages vb.)\n}\n<\/pre>\n<p><\/code><\/p>\n<p>Ayn\u0131 mant\u0131kla, \"Blog\" kayna\u011f\u0131n\u0131 \"\u0130\u00e7erik Y\u00f6netimi\" grubuna, \"Ayarlar\" sayfas\u0131n\u0131 \"Sistem Ayarlar\u0131\" grubuna atayabilirsiniz. Bu yap\u0131land\u0131rma sayesinde, Filament y\u00f6netim panelinizdeki sol men\u00fc, belirledi\u011finiz gruplar alt\u0131nda ilgili t\u00fcm \u00f6\u011feleri d\u00fczenli bir \u015fekilde g\u00f6sterecektir. B\u00f6ylece hem g\u00f6rsel olarak daha d\u00fczenli bir panel elde eder hem de geli\u015ftirme s\u00fcre\u00e7lerinizde mod\u00fclerli\u011fi ve s\u00fcrd\u00fcr\u00fclebilirli\u011fi art\u0131r\u0131rs\u0131n\u0131z. Ayr\u0131ca, gruplar\u0131 tan\u0131mlarken <code>sort()<\/code> metodu ile s\u0131ralama da yapabilirsiniz, bu da men\u00fcdeki gruplar\u0131n g\u00f6r\u00fcn\u00fcm s\u0131ras\u0131n\u0131 belirlemenizi sa\u011flar.<\/p>\n<h2>Grup Baz\u0131nda \u0130zin Y\u00f6netimi ve Yetkilendirme Stratejileri<\/h2>\n<p>Filament gruplar\u0131, y\u00f6netim panelinin sadece estetik bir organizasyon arac\u0131 olmaktan \u00f6te, ayn\u0131 zamanda g\u00fc\u00e7l\u00fc bir yetkilendirme katman\u0131 olu\u015fturmak i\u00e7in de kullan\u0131labilir. \u00d6zellikle <code>spatie\/laravel-permission<\/code> paketi gibi pop\u00fcler izin y\u00f6netim ara\u00e7lar\u0131yla entegre edildi\u011finde, kullan\u0131c\u0131lar\u0131n belirli gruplara veya gruplar alt\u0131ndaki kaynaklara eri\u015fimini \u00e7ok daha granular bir \u015fekilde kontrol edebilirsiniz. Bu, \"rol tabanl\u0131 eri\u015fim kontrol\u00fc\" (RBAC) stratejilerini uygularken size b\u00fcy\u00fck esneklik sa\u011flar.<\/p>\n<p>Bir senaryo d\u00fc\u015f\u00fcnelim: Bir \u015firket, Filament panelini kullanarak farkl\u0131 departmanlar\u0131n kendi g\u00f6rev alanlar\u0131ndaki verilere eri\u015fmesini ve bu verileri y\u00f6netmesini istiyor. \u00d6rne\u011fin, \"Sat\u0131\u015f Ekibi\" sadece \"Sipari\u015fler\" ve \"M\u00fc\u015fteriler\" gruplar\u0131na ait kaynaklar\u0131 g\u00f6rmeli, \"\u0130K Ekibi\" ise sadece \"\u00c7al\u0131\u015fanlar\" ve \"Bordrolar\" gruplar\u0131ndaki verilere eri\u015febilmelidir. Bu t\u00fcr bir izolasyonu sa\u011flamak i\u00e7in, Filament'in izin mekanizmalar\u0131n\u0131 gruplarla birlikte kullan\u0131r\u0131z.<\/p>\n<p>\u0130lk ad\u0131m, Spatie paketini kullanarak rolleri ve izinleri tan\u0131mlamakt\u0131r. \u00d6rne\u011fin, <code>SalesManager<\/code> (Sat\u0131\u015f Y\u00f6neticisi) ve <code>HRManager<\/code> (\u0130K Y\u00f6neticisi) gibi roller olu\u015fturabiliriz. Her role, ilgili kaynaklara y\u00f6nelik izinler atan\u0131r. Daha sonra, Filament kaynaklar\u0131n\u0131z\u0131n <code>canViewAny()<\/code>, <code>canCreate()<\/code>, <code>canEdit()<\/code> gibi metodlar\u0131n\u0131 kullanarak, kullan\u0131c\u0131n\u0131n belirli bir kayna\u011f\u0131 g\u00f6rme veya \u00fczerinde i\u015flem yapma yetkisine sahip olup olmad\u0131\u011f\u0131n\u0131 kontrol edebilirsiniz. Bu metodlar genellikle <code>Gate<\/code> veya <code>Policy<\/code> s\u0131n\u0131flar\u0131n\u0131 \u00e7a\u011f\u0131rarak yetkilendirme kontrol\u00fc yapar.<\/p>\n<pre><code class=\"language-php\">\n\/\/ app\/Filament\/Resources\/OrderResource.php i\u00e7inde\n\nuse Filament\\Resources\\Resource;\nuse App\\Models\\User; \/\/ User modelinizi dahil edin\n\nclass OrderResource extends Resource\n{\n    \/\/ ...\n\n    public static function canViewAny(): bool\n    {\n        return auth()->user()->hasRole('SalesManager') || auth()->user()->hasRole('Administrator');\n    }\n\n    public static function canCreate(): bool\n    {\n        return auth()->user()->hasRole('SalesManager');\n    }\n\n    \/\/ ... di\u011fer yetkilendirme metodlar\u0131\n}\n<\/pre>\n<p><\/code><\/p>\n<p>Bu yakla\u015f\u0131m, kullan\u0131c\u0131lar\u0131n belirli bir kayna\u011f\u0131 g\u00f6r\u00fcp g\u00f6remeyece\u011fini belirler. Ancak gruplarla birlikte daha da ileri gidebilirsiniz. Bir grup tan\u0131m\u0131n\u0131n kendisinin g\u00f6r\u00fcn\u00fcrl\u00fc\u011f\u00fcn\u00fc kontrol etmek i\u00e7in <code>navigationGroup()<\/code> metodunda veya do\u011frudan <code>PanelProvider<\/code> i\u00e7indeki <code>NavigationGroup::make()<\/code> metodunda <code>canSee()<\/code> metodunu kullanabilirsiniz:<\/p>\n<pre><code class=\"language-php\">\n\/\/ app\/Providers\/Filament\/AdminPanelProvider.php i\u00e7inde\n\nuse Filament\\Navigation\\NavigationGroup;\nuse App\\Models\\User;\n\n\/\/ ...\n            ->navigationGroups([\n                NavigationGroup::make()\n                    ->label('Ma\u011faza Y\u00f6netimi')\n                    ->icon('heroicon-o-shopping-bag')\n                    ->canSee(fn(): bool => auth()->user()->hasRole('SalesManager') || auth()->user()->can('view store management')), \/\/ Yetki kontrol\u00fc\n                NavigationGroup::make()\n                    ->label('\u0130\u00e7erik Y\u00f6netimi')\n                    ->icon('heroicon-o-document-text')\n                    ->canSee(fn(): bool => auth()->user()->hasRole('ContentManager') || auth()->user()->can('view content management')),\n                \/\/ ...\n            ]);\n<\/pre>\n<p><\/code><\/p>\n<p>Yukar\u0131daki \u00f6rnekte, \"Ma\u011faza Y\u00f6netimi\" grubu sadece <code>SalesManager<\/code> rol\u00fcne sahip kullan\u0131c\u0131lar veya 'view store management' iznine sahip kullan\u0131c\u0131lar taraf\u0131ndan g\u00f6r\u00fclebilir. Bu sayede, ilgili kullan\u0131c\u0131n\u0131n panele giri\u015f yapt\u0131\u011f\u0131nda sadece kendi g\u00f6rev alan\u0131yla ilgili men\u00fc gruplar\u0131n\u0131 g\u00f6rmesini sa\u011flayabilirsiniz. Bu, hem panelin daha sade ve anla\u015f\u0131l\u0131r olmas\u0131n\u0131 sa\u011flar hem de yetkilendirme ihlallerini en aza indirir. Sonu\u00e7 olarak, gruplar ve izin sistemleri entegrasyonu, kapsaml\u0131, g\u00fcvenli ve kullan\u0131c\u0131 odakl\u0131 bir Filament y\u00f6netim paneli olu\u015fturman\u0131n anahtar\u0131d\u0131r.<\/p>\n<div class=\"expert-tip\">\n        <strong>Uzman \u0130pucu:<\/strong> B\u00fcy\u00fck ve karma\u015f\u0131k yetkilendirme senaryolar\u0131nda, her bir <code>Resource<\/code> veya <code>Page<\/code> i\u00e7in ayr\u0131 ayr\u0131 <code>canViewAny()<\/code> gibi metodlar\u0131 tan\u0131mlamak yerine, <code>Policy<\/code> s\u0131n\u0131flar\u0131n\u0131 kullanmak \u00e7ok daha y\u00f6netilebilir bir yakla\u015f\u0131m sunar. Bu sayede, yetkilendirme mant\u0131\u011f\u0131n\u0131z\u0131 modelden ve kaynaktan ay\u0131rarak daha temiz ve mod\u00fcler bir kod taban\u0131 elde edebilirsiniz.\n    <\/div>\n<h2>Ger\u00e7ek D\u00fcnya Uygulamalar\u0131: Bir E-Ticaret Platformu Vaka Analizi<\/h2>\n<p>Filament v4'teki gruplama \u00f6zelli\u011finin ger\u00e7ek d\u00fcnya projelerindeki de\u011ferini anlamak i\u00e7in, pop\u00fcler bir senaryo olan bir e-ticaret platformu y\u00f6netim panelini ele alal\u0131m. B\u00fcy\u00fck bir e-ticaret sitesi genellikle pazarlama, operasyon, finans, m\u00fc\u015fteri hizmetleri ve \u00fcr\u00fcn y\u00f6netimi gibi farkl\u0131 departmanlar\u0131 ve bu departmanlar\u0131n kulland\u0131\u011f\u0131 bir\u00e7ok mod\u00fcl\u00fc bar\u0131nd\u0131r\u0131r. Bu kadar \u00e7ok mod\u00fcl ve farkl\u0131 yetki seviyesiyle, panelin d\u00fczenini sa\u011flamak kritik \u00f6nem ta\u015f\u0131r.<\/p>\n<p>Bu senaryoda, Filament gruplar\u0131n\u0131 kullanarak y\u00f6netim panelini a\u015fa\u011f\u0131daki gibi yap\u0131land\u0131rabiliriz:<\/p>\n<ol>\n<li><strong>\u00dcr\u00fcn Y\u00f6netimi Grubu:<\/strong> Bu grup, e-ticaret sitesinin kalbi olan \u00fcr\u00fcnlerle ilgili t\u00fcm mod\u00fclleri i\u00e7erir. \u0130\u00e7erisinde <code>ProductResource<\/code> (\u00dcr\u00fcnler), <code>CategoryResource<\/code> (Kategoriler), <code>BrandResource<\/code> (Markalar) ve <code>AttributeResource<\/code> (\u00d6zellikler) gibi kaynaklar bulunabilir. Bu gruba genellikle \u00fcr\u00fcn y\u00f6neticileri, envanter sorumlular\u0131 ve pazarlama ekiplerinin bir k\u0131sm\u0131 eri\u015fim sa\u011flar.<\/li>\n<li><strong>Sipari\u015f & M\u00fc\u015fteri Grubu:<\/strong> E-ticaret operasyonlar\u0131n\u0131n temelini olu\u015fturan sipari\u015fler ve m\u00fc\u015fteriler bu grupta yer al\u0131r. <code>OrderResource<\/code> (Sipari\u015fler), <code>CustomerResource<\/code> (M\u00fc\u015fteriler), <code>ShippingMethodResource<\/code> (Kargo Metotlar\u0131) ve <code>InvoiceResource<\/code> (Faturalar) gibi kaynaklar burada bulunabilir. M\u00fc\u015fteri hizmetleri, operasyon ve lojistik ekipleri bu grubun ana kullan\u0131c\u0131lar\u0131d\u0131r.<\/li>\n<li><strong>Pazarlama & Kampanya Grubu:<\/strong> E-ticaret sitelerinin b\u00fcy\u00fcmesi i\u00e7in kritik olan pazarlama faaliyetleri bu grupta toplan\u0131r. <code>CouponResource<\/code> (Kuponlar), <code>CampaignResource<\/code> (Kampanyalar), <code>BannerResource<\/code> (Bannerlar) ve <code>BlogResource<\/code> (Blog Yaz\u0131lar\u0131) gibi kaynaklar bu gruba atan\u0131r. Pazarlama departman\u0131 ve i\u00e7erik y\u00f6neticileri bu grubun yetkili kullan\u0131c\u0131lar\u0131d\u0131r.<\/li>\n<li><strong>Finans & Raporlama Grubu:<\/strong> Sitenin finansal sa\u011fl\u0131\u011f\u0131n\u0131 takip etmek i\u00e7in gerekli olan t\u00fcm mod\u00fcller burada yer al\u0131r. <code>PaymentTransactionResource<\/code> (\u00d6deme \u0130\u015flemleri), <code>RefundResource<\/code> (\u0130adeler), <code>TaxRateResource<\/code> (Vergi Oranlar\u0131) ve belki \u00f6zel rapor sayfalar\u0131 bu gruba dahil edilebilir. Finans departman\u0131 ve \u00fcst d\u00fczey y\u00f6neticiler bu gruba eri\u015febilir.<\/li>\n<li><strong>Sistem Ayarlar\u0131 Grubu:<\/strong> Platformun genel ayarlar\u0131 ve teknik konfig\u00fcrasyonlar\u0131 bu grupta toplan\u0131r. <code>UserResource<\/code> (Kullan\u0131c\u0131lar), <code>RoleResource<\/code> (Roller), <code>PermissionResource<\/code> (\u0130zinler) ve <code>GeneralSettingsPage<\/code> (Genel Ayarlar Sayfas\u0131) gibi kritik mod\u00fcller burada yer al\u0131r. Sistem y\u00f6neticileri ve \u00fcst d\u00fczey IT personeli bu gruba tam eri\u015fime sahiptir.<\/li>\n<\/ol>\n<p>Bu gruplama sayesinde, bir m\u00fc\u015fteri hizmetleri temsilcisi panele girdi\u011finde sadece \"Sipari\u015f & M\u00fc\u015fteri\" grubunu ve belki sadece g\u00f6r\u00fcnt\u00fcleme izinlerine sahip oldu\u011fu \"\u00dcr\u00fcn Y\u00f6netimi\" grubunu g\u00f6r\u00fcr. Pazarlama m\u00fcd\u00fcr\u00fc ise sadece \"Pazarlama & Kampanya\" grubunu ve s\u0131n\u0131rl\u0131 eri\u015fimle di\u011fer gruplar\u0131 g\u00f6r\u00fcr. Bu, kullan\u0131c\u0131lar\u0131n sadece kendi g\u00f6rev alanlar\u0131yla ilgili bilgilere odaklanmas\u0131n\u0131 sa\u011flayarak verimlili\u011fi art\u0131r\u0131r ve paneldeki karma\u015f\u0131kl\u0131\u011f\u0131 azalt\u0131r.<\/p>\n<p>A\u015fa\u011f\u0131daki tablo, bu vaka analizindeki gruplar ve onlara atanabilecek \u00f6rnek yetkileri \u00f6zetlemektedir:<\/p>\n<table>\n<thead>\n<tr>\n<th>Grup Ad\u0131<\/th>\n<th>\u00d6rnek Kaynaklar<\/th>\n<th>Eri\u015fim Sa\u011flayabilecek Roller<\/th>\n<th>Temel \u0130zinler<\/th>\n<\/tr>\n<\/thead>\n<tbody>\n<tr>\n<td data-label=\"Grup Ad\u0131\">\u00dcr\u00fcn Y\u00f6netimi<\/td>\n<td data-label=\"\u00d6rnek Kaynaklar\">\u00dcr\u00fcnler, Kategoriler, Markalar<\/td>\n<td data-label=\"Eri\u015fim Sa\u011flayabilecek Roller\">\u00dcr\u00fcn Y\u00f6neticisi, Envanter Sorumlusu<\/td>\n<td data-label=\"Temel \u0130zinler\">Olu\u015fturma, D\u00fczenleme, Silme, G\u00f6r\u00fcnt\u00fcleme<\/td>\n<\/tr>\n<tr>\n<td data-label=\"Grup Ad\u0131\">Sipari\u015f & M\u00fc\u015fteri<\/td>\n<td data-label=\"\u00d6rnek Kaynaklar\">Sipari\u015fler, M\u00fc\u015fteriler, Kargo Metotlar\u0131<\/td>\n<td data-label=\"Eri\u015fim Sa\u011flayabilecek Roller\">M\u00fc\u015fteri Temsilcisi, Operasyon Y\u00f6neticisi<\/td>\n<td data-label=\"Temel \u0130zinler\">G\u00f6r\u00fcnt\u00fcleme, Sipari\u015f G\u00fcncelleme, M\u00fc\u015fteri Bilgisi G\u00f6r\u00fcnt\u00fcleme<\/td>\n<\/tr>\n<tr>\n<td data-label=\"Grup Ad\u0131\">Pazarlama & Kampanya<\/td>\n<td data-label=\"\u00d6rnek Kaynaklar\">Kuponlar, Kampanyalar, Blog Yaz\u0131lar\u0131<\/td>\n<td data-label=\"Eri\u015fim Sa\u011flayabilecek Roller\">Pazarlama Uzman\u0131, \u0130\u00e7erik Y\u00f6neticisi<\/td>\n<td data-label=\"Temel \u0130zinler\">Olu\u015fturma, D\u00fczenleme, Kampanya Y\u00f6netimi<\/td>\n<\/tr>\n<tr>\n<td data-label=\"Grup Ad\u0131\">Finans & Raporlama<\/td>\n<td data-label=\"\u00d6rnek Kaynaklar\">\u00d6deme \u0130\u015flemleri, \u0130adeler, Vergi Oranlar\u0131<\/td>\n<td data-label=\"Eri\u015fim Sa\u011flayabilecek Roller\">Finans M\u00fcd\u00fcr\u00fc, \u00dcst D\u00fczey Y\u00f6netici<\/td>\n<td data-label=\"Temel \u0130zinler\">T\u00fcm\u00fcn\u00fc G\u00f6r\u00fcnt\u00fcleme, Rapor Olu\u015fturma<\/td>\n<\/tr>\n<tr>\n<td data-label=\"Grup Ad\u0131\">Sistem Ayarlar\u0131<\/td>\n<td data-label=\"\u00d6rnek Kaynaklar\">Kullan\u0131c\u0131lar, Roller, \u0130zinler, Genel Ayarlar<\/td>\n<td data-label=\"Eri\u015fim Sa\u011flayabilecek Roller\">Sistem Y\u00f6neticisi<\/td>\n<td data-label=\"Temel \u0130zinler\">T\u00fcm Kaynaklara Tam Kontrol<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<p>Bu detayl\u0131 grupland\u0131rma ve yetkilendirme stratejisi, e-ticaret platformunun y\u00f6netim panelini sadece daha organize etmekle kalmaz, ayn\u0131 zamanda g\u00fcvenlik risklerini azalt\u0131r ve farkl\u0131 kullan\u0131c\u0131 profilleri i\u00e7in ki\u015fiselle\u015ftirilmi\u015f bir deneyim sunar. Dolay\u0131s\u0131yla, Filament gruplar\u0131 sayesinde, kompleks i\u015f gereksinimlerine sahip uygulamalar\u0131n bile y\u00f6netim panellerini kolayca \u00f6l\u00e7eklendirebilir ve s\u00fcrd\u00fcr\u00fclebilir hale getirebilirsiniz.<\/p>\n<h2>\u0130leri D\u00fczey Filament Grupland\u0131rma Teknikleri ve Optimizasyon<\/h2>\n<p>Filament gruplar\u0131, temel seviyede bile olduk\u00e7a kullan\u0131\u015fl\u0131 olsa da, daha karma\u015f\u0131k ihtiya\u00e7lar i\u00e7in ileri d\u00fczey teknikler ve optimizasyon ipu\u00e7lar\u0131 mevcuttur. Bu teknikler, y\u00f6netim panelinizin daha dinamik, verimli ve \u00f6zelle\u015ftirilebilir olmas\u0131n\u0131 sa\u011flar.<\/p>\n<h3>Dinamik Grup G\u00f6r\u00fcn\u00fcrl\u00fc\u011f\u00fc Nas\u0131l Sa\u011flan\u0131r?<\/h3>\n<p>Bazen, bir grubun belirli ko\u015fullar alt\u0131nda g\u00f6r\u00fcnmesini isteyebilirsiniz. \u00d6rne\u011fin, sadece belirli bir ayar etkinle\u015ftirildi\u011finde veya belirli bir veri bulundu\u011funda bir grubun panelde g\u00f6r\u00fcnmesi gerekebilir. Bunu, <code>navigationGroups()<\/code> metodunda her bir <code>NavigationGroup<\/code> \u00f6\u011fesi i\u00e7in <code>canSee()<\/code> metodunu kullanarak ba\u015farabilirsiniz. Bu metot, bir closure (kapatma) kabul eder ve closure'\u0131n d\u00f6nd\u00fcrd\u00fc\u011f\u00fc boolean de\u011fere g\u00f6re grubun g\u00f6r\u00fcn\u00fcrl\u00fc\u011f\u00fcn\u00fc ayarlar.<\/p>\n<pre><code class=\"language-php\">\n\/\/ app\/Providers\/Filament\/AdminPanelProvider.php i\u00e7inde\n\nuse Filament\\Navigation\\NavigationGroup;\nuse App\\Models\\Setting; \/\/ Ayar modelinizi dahil edin\n\n\/\/ ...\n            ->navigationGroups([\n                NavigationGroup::make()\n                    ->label('Beta \u00d6zellikler')\n                    ->icon('heroicon-o-flask')\n                    ->canSee(fn(): bool => Setting::get('enable_beta_features', false)), \/\/ Sadece Beta \u00f6zellikler aktifse g\u00f6r\u00fcn\u00fcr\n                NavigationGroup::make()\n                    ->label('Analizler')\n                    ->icon('heroicon-o-chart-bar')\n                    ->canSee(fn(): bool => auth()->user()->hasPermissionTo('view analytics')), \/\/ \u0130zne ba\u011fl\u0131 g\u00f6r\u00fcn\u00fcrl\u00fck\n                \/\/ ...\n            ]);\n<\/pre>\n<p><\/code><\/p>\n<p>Bu y\u00f6ntem, panelinizin ba\u011flam\u0131na g\u00f6re gruplar\u0131n dinamik olarak g\u00f6sterilmesini veya gizlenmesini sa\u011flayarak daha esnek bir kullan\u0131c\u0131 deneyimi sunar. \u00d6rne\u011fin, bir mod\u00fcl hen\u00fcz geli\u015ftirme a\u015famas\u0131ndayken sadece belirli y\u00f6neticilerin g\u00f6rmesini sa\u011flayabilir, genel kullan\u0131c\u0131lardan gizleyebilirsiniz.<\/p>\n<h3>\u00c7oklu Panel Kurulumlar\u0131nda Gruplar\u0131n Y\u00f6netimi<\/h3>\n<p>Filament v4, ayn\u0131 Laravel uygulamas\u0131 i\u00e7inde birden fazla y\u00f6netim paneli olu\u015fturman\u0131za olanak tan\u0131r. Her panelin kendi <code>PanelProvider<\/code>'\u0131 oldu\u011fu i\u00e7in, her panel i\u00e7in ayr\u0131 ayr\u0131 navigasyon gruplar\u0131 tan\u0131mlayabilirsiniz. Bu, \u00f6rne\u011fin bir \"Sat\u0131c\u0131 Paneli\" ve bir \"Y\u00f6netici Paneli\" olan bir platformda, her panelin kendine \u00f6zg\u00fc men\u00fc yap\u0131s\u0131n\u0131 ve gruplar\u0131n\u0131 bulundurabilece\u011fi anlam\u0131na gelir. Her panel sa\u011flay\u0131c\u0131s\u0131nda kendi <code>navigationGroups()<\/code> metodunuzu tan\u0131mlayarak, bu panellerin ba\u011f\u0131ms\u0131zl\u0131\u011f\u0131n\u0131 koruyabilirsiniz. Bu, mod\u00fclerli\u011fi art\u0131r\u0131r ve farkl\u0131 hedef kitlelere y\u00f6nelik \u00f6zelle\u015ftirilmi\u015f deneyimler sunar.<\/p>\n<h3>Performansa Etkisi ve Optimizasyon \u0130pu\u00e7lar\u0131 Nelerdir?<\/h3>\n<p>Filament gruplar\u0131 genellikle performans \u00fczerinde g\u00f6zle g\u00f6r\u00fcl\u00fcr bir olumsuz etkiye sahip de\u011fildir \u00e7\u00fcnk\u00fc bunlar temelde statik tan\u0131mlamalard\u0131r veya basit veritaban\u0131 sorgular\u0131yla ili\u015fkilendirilir. Ancak, <code>canSee()<\/code> metodu i\u00e7erisinde karma\u015f\u0131k ve yava\u015f veritaban\u0131 sorgular\u0131 \u00e7al\u0131\u015ft\u0131r\u0131rsan\u0131z, bu durum men\u00fc y\u00fckleme s\u00fcresini etkileyebilir. Bu t\u00fcr durumlar\u0131 \u00f6nlemek i\u00e7in:<\/p>\n<ul>\n<li><code>canSee()<\/code> metodunda veritaban\u0131 i\u015flemlerini minimize edin veya cache'leme kullan\u0131n.<\/li>\n<li>\u0130zin kontrolleri i\u00e7in <code>spatie\/laravel-permission<\/code> gibi optimize edilmi\u015f paketlerin sundu\u011fu metodlar\u0131 tercih edin.<\/li>\n<li>Grup say\u0131s\u0131n\u0131 makul bir seviyede tutun; \u00e7ok fazla grup, men\u00fcde karma\u015f\u0131kl\u0131\u011fa yol a\u00e7abilir.<\/li>\n<\/ul>\n<p>Ayr\u0131ca, <code>navigationGroups()<\/code> metodunda s\u0131ralama (<code>sort()<\/code>) kullanarak gruplar\u0131n men\u00fcdeki fiziksel s\u0131ras\u0131n\u0131 kontrol edebilirsiniz. Bu, sadece g\u00f6rsel bir iyile\u015ftirme olmakla kalmaz, ayn\u0131 zamanda s\u0131k kullan\u0131lan gruplar\u0131n daha \u00fcstte yer alarak kullan\u0131c\u0131 eri\u015fimini h\u0131zland\u0131rmas\u0131na yard\u0131mc\u0131 olur. Sonu\u00e7 olarak, Filament gruplar\u0131n\u0131 bilin\u00e7li ve stratejik bir \u015fekilde kullanarak, panelinizin sadece d\u00fczenli de\u011fil, ayn\u0131 zamanda son derece g\u00fc\u00e7l\u00fc ve performansl\u0131 olmas\u0131n\u0131 sa\u011flayabilirsiniz.<\/p>\n<h2>Mobil Uyumlu Filament Gruplar\u0131 Nas\u0131l Tasarlan\u0131r?<\/h2>\n<p>G\u00fcn\u00fcm\u00fcz d\u00fcnyas\u0131nda, web uygulamalar\u0131na eri\u015fimin b\u00fcy\u00fck bir k\u0131sm\u0131 mobil cihazlar \u00fczerinden ger\u00e7ekle\u015fmektedir. Y\u00f6netim panelleri de bu trendin d\u0131\u015f\u0131nda kalmamal\u0131d\u0131r. Filament v4, kutudan \u00e7\u0131kt\u0131\u011f\u0131 haliyle olduk\u00e7a responsive (duyarl\u0131) bir yap\u0131ya sahiptir ve mobil cihazlarda iyi bir deneyim sunar. Ancak, gruplar\u0131n ve navigasyonun mobil uyumlulu\u011funu daha da iyile\u015ftirmek i\u00e7in baz\u0131 noktalara dikkat edebilir ve gerekti\u011finde \u00f6zelle\u015ftirmeler yapabilirsiniz.<\/p>\n<p>Filament'in sol men\u00fcs\u00fc, ekran boyutu k\u00fc\u00e7\u00fcld\u00fc\u011f\u00fcnde otomatik olarak daral\u0131r veya bir \"hamburger men\u00fc\" ikonunun arkas\u0131na gizlenir. Gruplar\u0131n\u0131z bu yap\u0131n\u0131n do\u011fal bir par\u00e7as\u0131 olarak bu davran\u0131\u015fa uyum sa\u011flar. Ancak, \u00f6zellikle \u00e7ok say\u0131da grup ve alt \u00f6\u011feye sahipseniz, mobil ekranda bunlar\u0131n nas\u0131l g\u00f6r\u00fcnd\u00fc\u011f\u00fcn\u00fc test etmek ve kullan\u0131c\u0131 deneyimini optimize etmek \u00f6nemlidir. \u00d6rne\u011fin, grup ba\u015fl\u0131klar\u0131 \u00e7ok uzunsa veya ikonlar k\u00fc\u00e7\u00fck ekranlarda karma\u015f\u0131k g\u00f6r\u00fcn\u00fcyorsa, kullan\u0131c\u0131lar i\u00e7in kafa kar\u0131\u015ft\u0131r\u0131c\u0131 olabilir.<\/p>\n<h3>\u00d6zelle\u015ftirilmi\u015f Stil Optimizasyonlar\u0131<\/h3>\n<p>Filament, kendi stil dosyan\u0131z\u0131 ekleyerek varsay\u0131lan g\u00f6r\u00fcn\u00fcmlerini \u00f6zelle\u015ftirmenize olanak tan\u0131r. E\u011fer grup ba\u015fl\u0131klar\u0131n\u0131z\u0131n veya men\u00fc \u00f6\u011felerinizin mobil cihazlarda farkl\u0131 bir boyuta veya hizalamaya sahip olmas\u0131n\u0131 istiyorsan\u0131z, bunu CSS medya sorgular\u0131 (<code>@media<\/code> queries) ile yapabilirsiniz. \u00d6rne\u011fin, mobil cihazlarda grup ba\u015fl\u0131klar\u0131n\u0131n font boyutunu k\u00fc\u00e7\u00fcltmek veya ikonlar\u0131 gizlemek isteyebilirsiniz.<\/p>\n<pre><code class=\"language-css\">\n\/* app\/Filament\/Resources\/ProductResource.php i\u00e7inde *\/\n\n\/* resources\/css\/filament\/admin\/tailwind.css veya \u00f6zel CSS dosyan\u0131zda *\/\n\n@media (max-width: 768px) {\n    .filament-sidebar .filament-sidebar-nav-group-label {\n        font-size: 0.85rem; \/* Mobil cihazlarda grup ba\u015fl\u0131klar\u0131n\u0131n font boyutunu k\u00fc\u00e7\u00fclt *\/\n        padding-left: 0.5rem; \/* Sol bo\u015flu\u011fu ayarla *\/\n    }\n\n    .filament-sidebar .filament-sidebar-nav-group .filament-sidebar-item {\n        padding-left: 1.5rem; \/* Alt men\u00fc \u00f6\u011felerinin bo\u015flu\u011funu ayarla *\/\n    }\n\n    \/* \u0130konlar\u0131 mobil g\u00f6r\u00fcn\u00fcmde gizlemek isterseniz *\/\n    .filament-sidebar .filament-sidebar-nav-group-icon {\n        display: none;\n    }\n}\n\n\/* Daha k\u00fc\u00e7\u00fck ekranlar i\u00e7in *\/\n@media (max-width: 480px) {\n    .filament-sidebar .filament-sidebar-nav-group-label {\n        font-size: 0.8rem;\n        \/* Di\u011fer mobil uyumlu ayarlamalar *\/\n    }\n}\n<\/pre>\n<p><\/code><\/p>\n<p>Bu CSS kodlar\u0131, Filament'in varsay\u0131lan Tailwind CSS s\u0131n\u0131flar\u0131n\u0131 hedef alarak mobil cihazlarda men\u00fc gruplar\u0131n\u0131z\u0131n g\u00f6r\u00fcn\u00fcm\u00fcn\u00fc \u00f6zelle\u015ftirmenizi sa\u011flar. Bu sayede, daha okunabilir ve kullan\u0131\u015fl\u0131 bir mobil deneyim yaratabilirsiniz. Filament'in sundu\u011fu \u00f6zelle\u015ftirme yetenekleri sayesinde, sitenizin veya uygulaman\u0131z\u0131n marka kimli\u011fine uygun, tutarl\u0131 ve mobil dostu bir y\u00f6netim paneli tasarlaman\u0131z m\u00fcmk\u00fcnd\u00fcr.<\/p>\n<div class=\"expert-tip\">\n        <strong>Uzman \u0130pucu:<\/strong> Mobil cihazlarda men\u00fc karma\u015fas\u0131n\u0131 \u00f6nlemek i\u00e7in, \u00f6zellikle kritik olmayan veya nadiren kullan\u0131lan gruplar\u0131 <code>canSee()<\/code> metodu ile sadece masa\u00fcst\u00fc kullan\u0131c\u0131lar\u0131na g\u00f6stermeyi d\u00fc\u015f\u00fcnebilirsiniz. Bu, mobil kullan\u0131c\u0131lar\u0131n ana g\u00f6revlerine daha h\u0131zl\u0131 odaklanmalar\u0131n\u0131 sa\u011flayacakt\u0131r.\n    <\/div>\n<p>\u00d6zetle, Filament v4'\u00fcn gruplama \u00f6zellikleri, hem yap\u0131sal d\u00fczen hem de yetkilendirme esnekli\u011fi sunarak y\u00f6netim paneli geli\u015ftirme s\u00fcrecini \u00f6nemli \u00f6l\u00e7\u00fcde basitle\u015ftirir. Mobil uyumluluk konusunda Filament'in kendi responsive yap\u0131s\u0131 g\u00fc\u00e7l\u00fc bir ba\u015flang\u0131\u00e7 noktas\u0131 olsa da, \u00f6zel stil ayarlamalar\u0131 ile mobil kullan\u0131c\u0131 deneyimini m\u00fckemmelle\u015ftirmek her zaman m\u00fcmk\u00fcnd\u00fcr.<\/p>\n<h2>Sonu\u00e7 ve S\u0131k\u00e7a Sorulan Sorular<\/h2>\n<p>Filament v4'teki gruplama \u00f6zellikleri, y\u00f6netim paneli geli\u015ftirme s\u00fcre\u00e7lerini basitle\u015ftiren ve son kullan\u0131c\u0131 deneyimini iyile\u015ftiren kritik bir ara\u00e7t\u0131r. Bu makale boyunca, gruplar\u0131n neden \u00f6nemli oldu\u011fundan, nas\u0131l tan\u0131mlan\u0131p olu\u015fturulaca\u011f\u0131na, izin y\u00f6netimiyle nas\u0131l entegre edilece\u011fine ve ger\u00e7ek d\u00fcnya senaryolar\u0131nda nas\u0131l kullan\u0131labilece\u011fine kadar geni\u015f bir yelpazede bilgi edindik. Ayr\u0131ca, ileri d\u00fczey teknikler ve mobil uyumluluk i\u00e7in ipu\u00e7lar\u0131yla, Filament panellerinizi daha da g\u00fc\u00e7lendirme yollar\u0131n\u0131 ke\u015ffettik.<\/p>\n<p>Gruplar sayesinde, b\u00fcy\u00fck ve karma\u015f\u0131k uygulamalar\u0131n y\u00f6netim panellerini mod\u00fcler, d\u00fczenli ve y\u00f6netilebilir hale getirebilirsiniz. Bu, sadece geli\u015ftiricilerin i\u015fini kolayla\u015ft\u0131rmakla kalmaz, ayn\u0131 zamanda farkl\u0131 yetki seviyelerindeki kullan\u0131c\u0131lar\u0131n sadece kendileriyle ilgili bilgilere eri\u015fimini sa\u011flayarak g\u00fcvenli\u011fi art\u0131r\u0131r ve kullan\u0131c\u0131 verimlili\u011fini y\u00fckseltir. Filament'in esnek ve kapsaml\u0131 yap\u0131s\u0131, bu gruplar\u0131 uygulaman\u0131z\u0131n \u00f6zel ihtiya\u00e7lar\u0131na g\u00f6re \u015fekillendirmenize olanak tan\u0131r. Sonu\u00e7 olarak, Filament v4'te gruplar, sadece bir navigasyon d\u00fczenlemesi de\u011fil, ayn\u0131 zamanda \u00f6l\u00e7eklenebilir ve s\u00fcrd\u00fcr\u00fclebilir bir y\u00f6netim paneli mimarisinin temel ta\u015f\u0131d\u0131r.<\/p>\n<h3>S\u0131k\u00e7a Sorulan Sorular<\/h3>\n<p><strong>Gruplar ile roller aras\u0131ndaki temel fark nedir?<\/strong><\/p>\n<p>Gruplar (Filament navigasyon gruplar\u0131), y\u00f6netim panelindeki men\u00fc \u00f6\u011felerini mant\u0131ksal olarak d\u00fczenlemek i\u00e7in kullan\u0131lan g\u00f6rsel ve yap\u0131sal bir ara\u00e7t\u0131r. \"\u00dcr\u00fcn Y\u00f6netimi\" veya \"Sistem Ayarlar\u0131\" gibi ba\u015fl\u0131klar alt\u0131nda ilgili mod\u00fclleri toplar. Roller ise (genellikle Spatie gibi paketlerle y\u00f6netilen), bir kullan\u0131c\u0131n\u0131n sistemdeki belirli eylemleri ger\u00e7ekle\u015ftirme veya belirli verilere eri\u015fme yetkisini tan\u0131mlayan yetkilendirme mekanizmalar\u0131d\u0131r. Gruplar, genellikle rollerle birlikte \u00e7al\u0131\u015farak, bir rol\u00fcn hangi gruplara eri\u015febilece\u011fini belirlemek i\u00e7in kullan\u0131l\u0131r, ancak do\u011frudan yetki tan\u0131mlamazlar.<\/p>\n<p><strong>Filament'te bir kayna\u011f\u0131 birden fazla gruba atayabilir miyim?<\/strong><\/p>\n<p>Hay\u0131r, Filament'in mevcut yap\u0131s\u0131nda bir kayna\u011f\u0131 (Resource) do\u011frudan birden fazla navigasyon grubuna atayamazs\u0131n\u0131z. Bir kaynak, <code>$navigationGroup<\/code> \u00f6zelli\u011fi veya <code>getNavigationGroup()<\/code> metodu arac\u0131l\u0131\u011f\u0131yla yaln\u0131zca tek bir gruba atanabilir. Ancak, ayn\u0131 kayna\u011f\u0131 farkl\u0131 panellerde (multi-tenancy senaryolar\u0131 gibi) farkl\u0131 gruplar alt\u0131nda g\u00f6sterebilir veya farkl\u0131 kaynaklar\u0131 benzer isimli gruplara atayarak dolayl\u0131 bir gruplama hissi yaratabilirsiniz.<\/p>\n<p><strong>Dinamik grup isimleri kullanmak m\u00fcmk\u00fcn m\u00fcd\u00fcr?<\/strong><\/p>\n<p>Evet, m\u00fcmk\u00fcnd\u00fcr. <code>PanelProvider<\/code> i\u00e7erisindeki <code>NavigationGroup::make()<\/code> metodunun <code>label()<\/code> metoduna bir closure (kapatma) ile dinamik bir de\u011fer atayabilirsiniz. Bu closure, PHP kodunuzu \u00e7al\u0131\u015ft\u0131rarak, \u00f6rne\u011fin bir veritaban\u0131 ayar\u0131ndan veya oturum bilgisinden dinamik olarak grup etiketini alabilir:<\/p>\n<pre><code class=\"language-php\">\nNavigationGroup::make()\n    ->label(fn (): string => auth()->user()->isAdministrator() ? 'Y\u00f6netici Paneli' : 'Kullan\u0131c\u0131 Paneli')\n<\/pre>\n<p><\/code><\/p>\n<p><strong>Filament gruplar\u0131 performans\u0131 olumsuz etkiler mi?<\/strong><\/p>\n<p>Genellikle hay\u0131r, Filament gruplar\u0131 panel performans\u0131n\u0131 do\u011frudan ve olumsuz etkilemez. Grup tan\u0131mlamalar\u0131 genellikle statiktir veya \u00e7ok hafif mant\u0131k i\u00e7erir. Ancak, e\u011fer <code>canSee()<\/code> metodlar\u0131 i\u00e7erisinde karma\u015f\u0131k ve optimize edilmemi\u015f veritaban\u0131 sorgular\u0131 veya yava\u015f i\u015flemler ger\u00e7ekle\u015ftirirseniz, bu durum men\u00fcn\u00fcn y\u00fcklenme s\u00fcresini etkileyebilir. Performans\u0131 optimize etmek i\u00e7in bu metodlarda basit ve h\u0131zl\u0131 kontroller kullanmaya \u00f6zen g\u00f6sterilmelidir.<\/p>\n<p><strong>Gruplar\u0131n varsay\u0131lan s\u0131ralamas\u0131n\u0131 nas\u0131l de\u011fi\u015ftirebilirim?<\/strong><\/p>\n<p>Gruplar\u0131n men\u00fcdeki varsay\u0131lan s\u0131ralamas\u0131n\u0131 de\u011fi\u015ftirmek i\u00e7in <code>PanelProvider<\/code> i\u00e7erisindeki <code>NavigationGroup::make()<\/code> metodunda <code>sort()<\/code> metodunu kullanabilirsiniz. Bu metod bir tam say\u0131 de\u011feri al\u0131r ve daha d\u00fc\u015f\u00fck say\u0131lar daha \u00fcstte g\u00f6r\u00fcn\u00fcr:<\/p>\n<pre><code class=\"language-php\">\nNavigationGroup::make()\n    ->label('Ma\u011faza Y\u00f6netimi')\n    ->sort(1), \/\/ \u0130lk s\u0131rada g\u00f6r\u00fcn\u00fcr\nNavigationGroup::make()\n    ->label('\u0130\u00e7erik Y\u00f6netimi')\n    ->sort(2), \/\/ \u0130kinci s\u0131rada g\u00f6r\u00fcn\u00fcr\n<\/pre>\n<p><\/code><\/p>\n<p>E\u011fer bir gruba <code>sort()<\/code> de\u011feri vermezseniz, Filament varsay\u0131lan olarak alfabetik s\u0131ralama veya tan\u0131mland\u0131klar\u0131 s\u0131raya g\u00f6re i\u015flem yapabilir.<\/p>\n<\/article>\n","protected":false},"excerpt":{"rendered":"Filament v4&#8217;te grup y\u00f6netimi nas\u0131l yap\u0131l\u0131r? Bu kapsaml\u0131 rehber, y\u00f6netim panelinizde kullan\u0131c\u0131lar\u0131n\u0131z i\u00e7in esnek izinler ve mod\u00fcler yap\u0131lar&hellip;","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"csco_page_header_type":"","csco_page_load_nextpost":"","csco_page_subscribe_form":"","csco_page_contact_form":"","footnotes":""},"categories":[1],"tags":[],"class_list":{"0":"post-31583","1":"post","2":"type-post","3":"status-publish","4":"format-standard","6":"category-genel","7":"cs-entry","8":"cs-video-wrap"},"yoast_head":"<!-- This site is optimized with the Yoast SEO Premium plugin v20.5 (Yoast SEO v25.3.1) - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<title>Filament v4 Gruplar\u0131: Y\u00f6netim Panelinde G\u00fc\u00e7l\u00fc Yap\u0131land\u0131rma<\/title>\n<meta name=\"description\" content=\"Filament v4&#039;te grup y\u00f6netimi nas\u0131l yap\u0131l\u0131r? Bu kapsaml\u0131 rehber, y\u00f6netim panelinizde kullan\u0131c\u0131lar\u0131n\u0131z i\u00e7in esnek izinler ve mod\u00fcler yap\u0131lar olu\u015fturman\u0131z\u0131 sa\u011flayacak gruplama \u00f6zelliklerini ad\u0131m ad\u0131m a\u00e7\u0131kl\u0131yor. G\u00fcvenli, d\u00fczenli ve y\u00f6netilebilir bir panel deneyimi i\u00e7in gruplar\u0131n g\u00fcc\u00fcn\u00fc hemen ke\u015ffedin.\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/fatihsoysal.com\/blog\/filament-v4-gruplari-yonetim-panelinde-guclu-yapilandirma\/\" \/>\n<meta property=\"og:locale\" content=\"tr_TR\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Filament v4 Gruplar\u0131: Y\u00f6netim Panelinde G\u00fc\u00e7l\u00fc Yap\u0131land\u0131rma\" \/>\n<meta property=\"og:description\" content=\"Filament v4&#039;te grup y\u00f6netimi nas\u0131l yap\u0131l\u0131r? Bu kapsaml\u0131 rehber, y\u00f6netim panelinizde kullan\u0131c\u0131lar\u0131n\u0131z i\u00e7in esnek izinler ve mod\u00fcler yap\u0131lar olu\u015fturman\u0131z\u0131 sa\u011flayacak gruplama \u00f6zelliklerini ad\u0131m ad\u0131m a\u00e7\u0131kl\u0131yor. G\u00fcvenli, d\u00fczenli ve y\u00f6netilebilir bir panel deneyimi i\u00e7in gruplar\u0131n g\u00fcc\u00fcn\u00fc hemen ke\u015ffedin.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/fatihsoysal.com\/blog\/filament-v4-gruplari-yonetim-panelinde-guclu-yapilandirma\/\" \/>\n<meta property=\"og:site_name\" content=\"Kodlar\u0131n Gizemli D\u00fcnyas\u0131\" \/>\n<meta property=\"article:published_time\" content=\"2025-10-11T11:01:17+00:00\" \/>\n<meta name=\"author\" content=\"Fatih Soysal\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Yazan:\" \/>\n\t<meta name=\"twitter:data1\" content=\"Fatih Soysal\" \/>\n\t<meta name=\"twitter:label2\" content=\"Tahmini okuma s\u00fcresi\" \/>\n\t<meta name=\"twitter:data2\" content=\"21 dakika\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\/\/fatihsoysal.com\/blog\/filament-v4-gruplari-yonetim-panelinde-guclu-yapilandirma\/#article\",\"isPartOf\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/filament-v4-gruplari-yonetim-panelinde-guclu-yapilandirma\/\"},\"author\":{\"name\":\"Fatih Soysal\",\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/002a254750921dcfd568a99e48240dd1\"},\"headline\":\"Filament v4 Gruplar\u0131: Y\u00f6netim Panelinde G\u00fc\u00e7l\u00fc Yap\u0131land\u0131rma\",\"datePublished\":\"2025-10-11T11:01:17+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/filament-v4-gruplari-yonetim-panelinde-guclu-yapilandirma\/\"},\"wordCount\":3420,\"commentCount\":0,\"publisher\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/002a254750921dcfd568a99e48240dd1\"},\"inLanguage\":\"tr\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\/\/fatihsoysal.com\/blog\/filament-v4-gruplari-yonetim-panelinde-guclu-yapilandirma\/#respond\"]}],\"copyrightYear\":\"2025\",\"copyrightHolder\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#organization\"}},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/fatihsoysal.com\/blog\/filament-v4-gruplari-yonetim-panelinde-guclu-yapilandirma\/\",\"url\":\"https:\/\/fatihsoysal.com\/blog\/filament-v4-gruplari-yonetim-panelinde-guclu-yapilandirma\/\",\"name\":\"Filament v4 Gruplar\u0131: Y\u00f6netim Panelinde G\u00fc\u00e7l\u00fc Yap\u0131land\u0131rma\",\"isPartOf\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#website\"},\"datePublished\":\"2025-10-11T11:01:17+00:00\",\"description\":\"Filament v4'te grup y\u00f6netimi nas\u0131l yap\u0131l\u0131r? Bu kapsaml\u0131 rehber, y\u00f6netim panelinizde kullan\u0131c\u0131lar\u0131n\u0131z i\u00e7in esnek izinler ve mod\u00fcler yap\u0131lar olu\u015fturman\u0131z\u0131 sa\u011flayacak gruplama \u00f6zelliklerini ad\u0131m ad\u0131m a\u00e7\u0131kl\u0131yor. G\u00fcvenli, d\u00fczenli ve y\u00f6netilebilir bir panel deneyimi i\u00e7in gruplar\u0131n g\u00fcc\u00fcn\u00fc hemen ke\u015ffedin.\",\"breadcrumb\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/filament-v4-gruplari-yonetim-panelinde-guclu-yapilandirma\/#breadcrumb\"},\"inLanguage\":\"tr\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/fatihsoysal.com\/blog\/filament-v4-gruplari-yonetim-panelinde-guclu-yapilandirma\/\"]}]},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/fatihsoysal.com\/blog\/filament-v4-gruplari-yonetim-panelinde-guclu-yapilandirma\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Anasayfa\",\"item\":\"https:\/\/fatihsoysal.com\/blog\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Filament v4 Gruplar\u0131: Y\u00f6netim Panelinde G\u00fc\u00e7l\u00fc Yap\u0131land\u0131rma\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#website\",\"url\":\"https:\/\/fatihsoysal.com\/blog\/\",\"name\":\"Fatihsoysal.com\",\"description\":\"Blog - Yaz\u0131l\u0131m D\u00fcnyas\u0131 Tecr\u00fcbelerim\",\"publisher\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/002a254750921dcfd568a99e48240dd1\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/fatihsoysal.com\/blog\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"tr\"},{\"@type\":[\"Person\",\"Organization\"],\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/002a254750921dcfd568a99e48240dd1\",\"name\":\"Fatih Soysal\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"tr\",\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/image\/\",\"url\":\"https:\/\/fatihsoysal.com\/blog\/wp-content\/uploads\/2024\/04\/cropped-replicate-prediction-3kgg1hgjn5rgp0cf0p5tr0jw7w-1.png\",\"contentUrl\":\"https:\/\/fatihsoysal.com\/blog\/wp-content\/uploads\/2024\/04\/cropped-replicate-prediction-3kgg1hgjn5rgp0cf0p5tr0jw7w-1.png\",\"width\":512,\"height\":512,\"caption\":\"Fatih Soysal\"},\"logo\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/image\/\"},\"description\":\"Kullan\u0131m ve kodlama m\u00fckemmeliyetini odak alan uygulamalar olu\u015fturma deneyimine sahip, profesyonel olarak 15+ y\u0131l \u00fczeri deneyime sahip bir yaz\u0131l\u0131m m\u00fchendisi.\",\"url\":\"https:\/\/fatihsoysal.com\/blog\/author\/fatihsoysal\/\"}]}<\/script>\n<!-- \/ Yoast SEO Premium plugin. -->","yoast_head_json":{"title":"Filament v4 Gruplar\u0131: Y\u00f6netim Panelinde G\u00fc\u00e7l\u00fc Yap\u0131land\u0131rma","description":"Filament v4'te grup y\u00f6netimi nas\u0131l yap\u0131l\u0131r? Bu kapsaml\u0131 rehber, y\u00f6netim panelinizde kullan\u0131c\u0131lar\u0131n\u0131z i\u00e7in esnek izinler ve mod\u00fcler yap\u0131lar olu\u015fturman\u0131z\u0131 sa\u011flayacak gruplama \u00f6zelliklerini ad\u0131m ad\u0131m a\u00e7\u0131kl\u0131yor. G\u00fcvenli, d\u00fczenli ve y\u00f6netilebilir bir panel deneyimi i\u00e7in gruplar\u0131n g\u00fcc\u00fcn\u00fc hemen ke\u015ffedin.","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/fatihsoysal.com\/blog\/filament-v4-gruplari-yonetim-panelinde-guclu-yapilandirma\/","og_locale":"tr_TR","og_type":"article","og_title":"Filament v4 Gruplar\u0131: Y\u00f6netim Panelinde G\u00fc\u00e7l\u00fc Yap\u0131land\u0131rma","og_description":"Filament v4'te grup y\u00f6netimi nas\u0131l yap\u0131l\u0131r? Bu kapsaml\u0131 rehber, y\u00f6netim panelinizde kullan\u0131c\u0131lar\u0131n\u0131z i\u00e7in esnek izinler ve mod\u00fcler yap\u0131lar olu\u015fturman\u0131z\u0131 sa\u011flayacak gruplama \u00f6zelliklerini ad\u0131m ad\u0131m a\u00e7\u0131kl\u0131yor. G\u00fcvenli, d\u00fczenli ve y\u00f6netilebilir bir panel deneyimi i\u00e7in gruplar\u0131n g\u00fcc\u00fcn\u00fc hemen ke\u015ffedin.","og_url":"https:\/\/fatihsoysal.com\/blog\/filament-v4-gruplari-yonetim-panelinde-guclu-yapilandirma\/","og_site_name":"Kodlar\u0131n Gizemli D\u00fcnyas\u0131","article_published_time":"2025-10-11T11:01:17+00:00","author":"Fatih Soysal","twitter_card":"summary_large_image","twitter_misc":{"Yazan:":"Fatih Soysal","Tahmini okuma s\u00fcresi":"21 dakika"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/fatihsoysal.com\/blog\/filament-v4-gruplari-yonetim-panelinde-guclu-yapilandirma\/#article","isPartOf":{"@id":"https:\/\/fatihsoysal.com\/blog\/filament-v4-gruplari-yonetim-panelinde-guclu-yapilandirma\/"},"author":{"name":"Fatih Soysal","@id":"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/002a254750921dcfd568a99e48240dd1"},"headline":"Filament v4 Gruplar\u0131: Y\u00f6netim Panelinde G\u00fc\u00e7l\u00fc Yap\u0131land\u0131rma","datePublished":"2025-10-11T11:01:17+00:00","mainEntityOfPage":{"@id":"https:\/\/fatihsoysal.com\/blog\/filament-v4-gruplari-yonetim-panelinde-guclu-yapilandirma\/"},"wordCount":3420,"commentCount":0,"publisher":{"@id":"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/002a254750921dcfd568a99e48240dd1"},"inLanguage":"tr","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/fatihsoysal.com\/blog\/filament-v4-gruplari-yonetim-panelinde-guclu-yapilandirma\/#respond"]}],"copyrightYear":"2025","copyrightHolder":{"@id":"https:\/\/fatihsoysal.com\/blog\/#organization"}},{"@type":"WebPage","@id":"https:\/\/fatihsoysal.com\/blog\/filament-v4-gruplari-yonetim-panelinde-guclu-yapilandirma\/","url":"https:\/\/fatihsoysal.com\/blog\/filament-v4-gruplari-yonetim-panelinde-guclu-yapilandirma\/","name":"Filament v4 Gruplar\u0131: Y\u00f6netim Panelinde G\u00fc\u00e7l\u00fc Yap\u0131land\u0131rma","isPartOf":{"@id":"https:\/\/fatihsoysal.com\/blog\/#website"},"datePublished":"2025-10-11T11:01:17+00:00","description":"Filament v4'te grup y\u00f6netimi nas\u0131l yap\u0131l\u0131r? Bu kapsaml\u0131 rehber, y\u00f6netim panelinizde kullan\u0131c\u0131lar\u0131n\u0131z i\u00e7in esnek izinler ve mod\u00fcler yap\u0131lar olu\u015fturman\u0131z\u0131 sa\u011flayacak gruplama \u00f6zelliklerini ad\u0131m ad\u0131m a\u00e7\u0131kl\u0131yor. G\u00fcvenli, d\u00fczenli ve y\u00f6netilebilir bir panel deneyimi i\u00e7in gruplar\u0131n g\u00fcc\u00fcn\u00fc hemen ke\u015ffedin.","breadcrumb":{"@id":"https:\/\/fatihsoysal.com\/blog\/filament-v4-gruplari-yonetim-panelinde-guclu-yapilandirma\/#breadcrumb"},"inLanguage":"tr","potentialAction":[{"@type":"ReadAction","target":["https:\/\/fatihsoysal.com\/blog\/filament-v4-gruplari-yonetim-panelinde-guclu-yapilandirma\/"]}]},{"@type":"BreadcrumbList","@id":"https:\/\/fatihsoysal.com\/blog\/filament-v4-gruplari-yonetim-panelinde-guclu-yapilandirma\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Anasayfa","item":"https:\/\/fatihsoysal.com\/blog\/"},{"@type":"ListItem","position":2,"name":"Filament v4 Gruplar\u0131: Y\u00f6netim Panelinde G\u00fc\u00e7l\u00fc Yap\u0131land\u0131rma"}]},{"@type":"WebSite","@id":"https:\/\/fatihsoysal.com\/blog\/#website","url":"https:\/\/fatihsoysal.com\/blog\/","name":"Fatihsoysal.com","description":"Blog - Yaz\u0131l\u0131m D\u00fcnyas\u0131 Tecr\u00fcbelerim","publisher":{"@id":"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/002a254750921dcfd568a99e48240dd1"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/fatihsoysal.com\/blog\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"tr"},{"@type":["Person","Organization"],"@id":"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/002a254750921dcfd568a99e48240dd1","name":"Fatih Soysal","image":{"@type":"ImageObject","inLanguage":"tr","@id":"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/image\/","url":"https:\/\/fatihsoysal.com\/blog\/wp-content\/uploads\/2024\/04\/cropped-replicate-prediction-3kgg1hgjn5rgp0cf0p5tr0jw7w-1.png","contentUrl":"https:\/\/fatihsoysal.com\/blog\/wp-content\/uploads\/2024\/04\/cropped-replicate-prediction-3kgg1hgjn5rgp0cf0p5tr0jw7w-1.png","width":512,"height":512,"caption":"Fatih Soysal"},"logo":{"@id":"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/image\/"},"description":"Kullan\u0131m ve kodlama m\u00fckemmeliyetini odak alan uygulamalar olu\u015fturma deneyimine sahip, profesyonel olarak 15+ y\u0131l \u00fczeri deneyime sahip bir yaz\u0131l\u0131m m\u00fchendisi.","url":"https:\/\/fatihsoysal.com\/blog\/author\/fatihsoysal\/"}]}},"yoast_meta":{"yoast_wpseo_title":"","yoast_wpseo_metadesc":"","yoast_wpseo_canonical":""},"amp_enabled":true,"_links":{"self":[{"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/posts\/31583","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/comments?post=31583"}],"version-history":[{"count":0,"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/posts\/31583\/revisions"}],"wp:attachment":[{"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/media?parent=31583"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/categories?post=31583"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/tags?post=31583"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}