<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0">
    <channel>
        <title>نوشته های Mahdi Fadavi</title>
        <link>https://virgool.io/feed/@iranvelco</link>
        <description></description>
        <language>fa</language>
        <pubDate>2026-04-15 10:11:42</pubDate>
        <image>
            <url>https://files.virgool.io/upload/users/957/avatar/avatar.png?height=120&amp;width=120</url>
            <title>Mahdi Fadavi</title>
            <link>https://virgool.io/@iranvelco</link>
        </image>

                    <item>
                <title>بهبود عملکرد پانل مدیریت در FilamentPHP</title>
                <link>https://virgool.io/@iranvelco/%D8%A8%D9%87%D8%A8%D9%88%D8%AF-%D8%B9%D9%85%D9%84%DA%A9%D8%B1%D8%AF-%D9%BE%D8%A7%D9%86%D9%84-%D9%85%D8%AF%DB%8C%D8%B1%DB%8C%D8%AA-%D8%AF%D8%B1-filamentphp-qxwhyln7ymnu</link>
                <description>بهینه سازی فیلامنت برای حالت production به این صورت هست که باید دستور زیر را اجرا کنین:php artisan filament:optimizeاین دستور کامپوننت های FilamentPHP و  آیکون های Blade رو کش می کنه که می تونه عملکرد فیلامنت شما رو به میزان قابل توجهی بهتر کنه. این دستور مخفف دستورات زیر هست: php artisan filament:cache-components و php artisan icons:cacheبرای پاک کردن کش ها می تونید دستور زیر رو اجرا کنین:php artisan filament:optimize-clearالبته که از دستورات زیر برای بالا بردن کارایی لاراول هم غافل نباشیم:php artisan optimize
php artisan config:cache
php artisan route:cache
php artisan view:cache</description>
                <category>Mahdi Fadavi</category>
                <author>Mahdi Fadavi</author>
                <pubDate>Sun, 25 Aug 2024 15:36:25 +0330</pubDate>
            </item>
                    <item>
                <title>فیلامنت: اسکرول خودکار به بالا در صفحه بندی</title>
                <link>https://virgool.io/@iranvelco/%D9%81%DB%8C%D9%84%D8%A7%D9%85%D9%86%D8%AA-%D8%A7%D8%B3%DA%A9%D8%B1%D9%88%D9%84-%D8%AE%D9%88%D8%AF%DA%A9%D8%A7%D8%B1-%D8%A8%D9%87-%D8%A8%D8%A7%D9%84%D8%A7-%D8%AF%D8%B1-%D8%B5%D9%81%D8%AD%D9%87-%D8%A8%D9%86%D8%AF%DB%8C-esvb1eqh1muk</link>
                <description>یک مشکل فیلامنت در زمان نمایش لیست ها این هست که وقتی روی صفحه بندی کلیک می کنیم به بالا اسکرول نمی شه و باید به صورت دستی این کار رو انجام بدیم. برای رفع این مشکل باید کارهای زیر رو انجام بدیم:در صفحه ای که لیست رو نمایش می ده (مثلا: ListTasks.php) قطعه کد زیر رو می نویسیم:class ListTasks extends ListRecords
{
    // ...
    public function setPage($page, $pageName = &#039;page&#039;): void
    {
        parent::setPage($page, $pageName);
        $this-&gt;dispatch(&#039;scroll-to-top&#039;);
    }
}و در صفحه AppServiceProvider.php هم کد زیر رو اضافه می کنیم:use Filament\Support\Facades\FilamentView;
use Filament\View\PanelsRenderHook;
use Illuminate\Support\HtmlString;
// ...
class AppServiceProvider extends ServiceProvider
{
    // ...
    public function boot(): void
    {
        FilamentView::registerRenderHook(
            PanelsRenderHook::SCRIPTS_AFTER,
            fn (): string =&gt; new HtmlString(&#039;document.addEventListener(&amp;quotscroll-to-top&amp;quot, () =&gt; window.scrollTo(0, 0))&#039;),
        );
    }
}و تمام.</description>
                <category>Mahdi Fadavi</category>
                <author>Mahdi Fadavi</author>
                <pubDate>Mon, 19 Aug 2024 09:31:48 +0330</pubDate>
            </item>
                    <item>
                <title>تعیین حداقل مبلغ سفارش در ووکامرس (وردپرس)</title>
                <link>https://virgool.io/@iranvelco/%D8%AA%D8%B9%DB%8C%DB%8C%D9%86-%D8%AD%D8%AF%D8%A7%D9%82%D9%84-%D9%85%D8%A8%D9%84%D8%BA-%D8%B3%D9%81%D8%A7%D8%B1%D8%B4-%D8%AF%D8%B1-%D9%88%D9%88%DA%A9%D8%A7%D9%85%D8%B1%D8%B3-%D9%88%D8%B1%D8%AF%D9%BE%D8%B1%D8%B3-golks92ylder</link>
                <description>اگر لازم باشه که برای سبد خرید مشتری یه حداقل مبلغی رو اعمال کنیم و مشتری نتونه کمتر از اون مبلغ سفارش رو ثبت کنه کافیه به مسیر زیر برید:پنل وردپرس، نمایش، ویرایشگر پرونده پوسته و فایل functions.php رو انتخاب کنید (حواستون باشه که قبلش از این فایل یه نسخه پشتیبان تهیه کنید که اگر به مشکل برخورد کردید بتونید به راحتی رفع کنید!!!)حالا قطعه کد زیر رو به فایل اضافه کنید:add_action( &#039;woocommerce_checkout_process&#039;, &#039;themefars_wc_minimum_order_amount&#039; );
add_action( &#039;woocommerce_before_cart&#039;, &#039;themefars_wc_minimum_order_amount&#039; );

function themefars_wc_minimum_order_amount() 
{
    $minimum = 2000000; // change this to your minimum order amount
    if ( WC()-&gt;cart-&gt;subtotal &lt; $minimum ) 
    {
        if ( is_cart() ) 
       {
              wc_print_notice(sprintf( &#039;برای ثبت سفارش باید حداقل مقدار سفارش %s داشته باشید. مجموع سفارش فعلی شما %s است.&#039; , wc_price( $minimum ), wc_price( WC()-&gt;cart-&gt;subtotal ) ), &#039;error&#039; );
        } 
        else 
        {
             wc_add_notice(sprintf( &#039;برای ثبت سفارش باید حداقل مقدار سفارش %s داشته باشید. مجموع سفارش فعلی شما %s است.&#039; , wc_price( $minimum ), wc_price( WC()-&gt;cart-&gt;subtotal ) ), &#039;error&#039; );
        }
    }
}و تمام.</description>
                <category>Mahdi Fadavi</category>
                <author>Mahdi Fadavi</author>
                <pubDate>Tue, 30 Jul 2024 16:32:32 +0330</pubDate>
            </item>
                    <item>
                <title>غیرفعال کردن صفحه بندی در فیلامنت</title>
                <link>https://virgool.io/@iranvelco/%D8%BA%DB%8C%D8%B1%D9%81%D8%B9%D8%A7%D9%84-%DA%A9%D8%B1%D8%AF%D9%86-%D8%B5%D9%81%D8%AD%D9%87-%D8%A8%D9%86%D8%AF%DB%8C-%D8%AF%D8%B1-%D9%81%DB%8C%D9%84%D8%A7%D9%85%D9%86%D8%AA-kqzi6tx6vwd3</link>
                <description>جداول در فیلامنت به صورت پیش فرض صفحه بندی را دارند، برای غیرفعال کردن صفحه بندی باید از متد زیر استفاده کنیم:use Filament\Tables\Table;
public function table(Table $table): Table
{
    return $table-&gt;paginated(false);
}</description>
                <category>Mahdi Fadavi</category>
                <author>Mahdi Fadavi</author>
                <pubDate>Thu, 27 Jun 2024 17:01:27 +0330</pubDate>
            </item>
                    <item>
                <title>اضافه کردن فلش اسکرول به پایین در LayerSlider</title>
                <link>https://virgool.io/@iranvelco/%D8%A7%D8%B6%D8%A7%D9%81%D9%87-%DA%A9%D8%B1%D8%AF%D9%86-%D9%81%D9%84%D8%B4-%D8%A7%D8%B3%DA%A9%D8%B1%D9%88%D9%84-%D8%A8%D9%87-%D9%BE%D8%A7%DB%8C%DB%8C%D9%86-%D8%AF%D8%B1-layerslider-eoue38uf1eq0</link>
                <description>من این راه حل رو برای افزودن یک فلش رو به پایین به یک لایر اسلایدر پیدا کردم.یک لایه html جدید به اسلاید خود اضافه کنید و مطمئن بشید که در بالاترین لایه قرار داده شده. لایه رو در جای خودش قرار بدین و اندازه اش رو به مربع 60 در 60 پیکسل تغییر دهید، نیازی نیست که خیلی دقیق باشه.در کادر محتوای لایر اسلایدر برای لایه html، کد زیر رو اضافه کنید:&lt;a href=&amp;quot#next-section&amp;quot title=&amp;quot&amp;quot class=&amp;quotscroll-down-link&amp;quot aria-hidden=&amp;quottrue&amp;quot data-av_icon=&amp;quot&amp;quot data-av_iconfont=&amp;quotentypo-fontello&amp;quot&gt;&lt;/a&gt;</description>
                <category>Mahdi Fadavi</category>
                <author>Mahdi Fadavi</author>
                <pubDate>Mon, 20 May 2024 17:47:22 +0330</pubDate>
            </item>
                    <item>
                <title>بازیابی ابزارک های کلاسیک وردپرس و غیرفعال کردن بلوک ویجت ها</title>
                <link>https://virgool.io/@iranvelco/%D8%A8%D8%A7%D8%B2%DB%8C%D8%A7%D8%A8%DB%8C-%D8%A7%D8%A8%D8%B2%D8%A7%D8%B1%DA%A9-%D9%87%D8%A7%DB%8C-%DA%A9%D9%84%D8%A7%D8%B3%DB%8C%DA%A9-%D9%88%D8%B1%D8%AF%D9%BE%D8%B1%D8%B3-%D9%88-%D8%BA%DB%8C%D8%B1%D9%81%D8%B9%D8%A7%D9%84-%DA%A9%D8%B1%D8%AF%D9%86-%D8%A8%D9%84%D9%88%DA%A9-%D9%88%DB%8C%D8%AC%D8%AA-%D9%87%D8%A7-qvsbnjduleiv</link>
                <description>کار کردن با بلوک ویجت ها در وردپرسروی اعصابم هست و برای همین ترجیح می دم که از ابزارک های کلاسیک وردپرس استفاده کنم. راحت ترین راه برای برگشتن به ابزارک های کلاسیک وردپرس این هست که قطعه کد زیر رو در فایل functions.php قرار بدین:function example_theme_support() 
{     
    remove_theme_support( &#039;widgets-block-editor&#039; ); 
} 
add_action( &#039;after_setup_theme&#039;, &#039;example_theme_support&#039; );</description>
                <category>Mahdi Fadavi</category>
                <author>Mahdi Fadavi</author>
                <pubDate>Tue, 16 Apr 2024 16:54:33 +0330</pubDate>
            </item>
                    <item>
                <title>برگرداندن نتایج جستجوی سفارشی در فرم های فیلامنت</title>
                <link>https://virgool.io/@iranvelco/%D8%A8%D8%B1%DA%AF%D8%B1%D8%AF%D8%A7%D9%86%D8%AF%D9%86-%D9%86%D8%AA%D8%A7%DB%8C%D8%AC-%D8%AC%D8%B3%D8%AA%D8%AC%D9%88%DB%8C-%D8%B3%D9%81%D8%A7%D8%B1%D8%B4%DB%8C-%D8%AF%D8%B1-%D9%81%D8%B1%D9%85-%D9%87%D8%A7%DB%8C-%D9%81%DB%8C%D9%84%D8%A7%D9%85%D9%86%D8%AA-rftkjnic84qb</link>
                <description>در فیلامنت، وقتی در فرم های ثبت اطلاعات از Select استفاده می کنیم می تونیم در ادامه از گزینه searchable استفاده کنیم که گزینه مورد نظر کاربر راحت تر پیدا بشه.حالا می تونیم همین گزینه searchable رو هم سفارشی سازی کنیم. یک نمونه از کد رو این جا می نویسم که ببینیم حال ت جستجوی سفارشی چطور کار می کنه:Select::make(&#039;insurer_id&#039;)
    -&gt;label(__(&#039;fields.insurer_name&#039;))
    -&gt;options(User::all()-&gt;pluck(&#039;name&#039;, &#039;id&#039;))
    -&gt;default(fn (Request $request) =&gt; $request-&gt;insurer_id)
    -&gt;required()
    -&gt;preload()
    -&gt;searchable()
    -&gt;getSearchResultsUsing(fn (string $search): array =&gt; User::where(&#039;name&#039;, &#039;like&#039;, &amp;quot%{$search}%&amp;quot)-&gt;pluck(&#039;name&#039;, &#039;id&#039;)-&gt;toArray())
    -&gt;getOptionLabelUsing(fn ($value): ?string =&gt; User::find($value)?-&gt;name),</description>
                <category>Mahdi Fadavi</category>
                <author>Mahdi Fadavi</author>
                <pubDate>Sun, 14 Apr 2024 09:32:23 +0330</pubDate>
            </item>
                    <item>
                <title>مقدار دهی پیش فرض به فیلد تاریخ در فیلامنت</title>
                <link>https://virgool.io/@iranvelco/%D9%85%D9%82%D8%AF%D8%A7%D8%B1-%D8%AF%D9%87%DB%8C-%D9%BE%DB%8C%D8%B4-%D9%81%D8%B1%D8%B6-%D8%A8%D9%87-%D9%81%DB%8C%D9%84%D8%AF-%D8%AA%D8%A7%D8%B1%DB%8C%D8%AE-%D8%AF%D8%B1-%D9%81%DB%8C%D9%84%D8%A7%D9%85%D9%86%D8%AA-iff5zhmkkxnw</link>
                <description>در فرم یکی از پروژه ها دو تاریخ داشتم ، تاریخ شروع اشتراک و تاریخ پایان اشتراک که یک سال بعد از تاریخ شروع بود و می خواستم که بعد از این که کاربر تاریخ شروع اشتراک رو تنظیم کرد تاریخ پایان به صورت خودکار روی یک سال بعد تنظیم بشه.نتیجه شد کد زیر (شاید به کار شما هم بیاد) :JalaliDatePicker::make(&#039;start_date&#039;)
    -&gt;label(__(&#039;fields.start_date&#039;))
    -&gt;before(&#039;end_date&#039;)
    -&gt;displayFormat(&#039;d F Y&#039;)
    -&gt;closeOnDateSelection()
    -&gt;required()
    -&gt;default(date(now()))
    -&gt;reactive()
    -&gt;afterStateUpdated(function (callable $get, callable $set) {
        $start_date = $get(&#039;start_date&#039;);
        $start_date = Carbon::parse($start_date);
        if (!$start_date)
            $set(&#039;end_date&#039;, null);
        $set(&#039;end_date&#039;, $start_date-&gt;addYear());
    }),
JalaliDatePicker::make(&#039;end_date&#039;)
    -&gt;label(__(&#039;fields.end_date&#039;))
    -&gt;after(&#039;start_date&#039;)
    -&gt;displayFormat(&#039;d F Y&#039;)
    -&gt;closeOnDateSelection(),</description>
                <category>Mahdi Fadavi</category>
                <author>Mahdi Fadavi</author>
                <pubDate>Sun, 14 Apr 2024 09:06:08 +0330</pubDate>
            </item>
                    <item>
                <title>غیرفعال کردن شرطی اکشن ها در جدول های فیلامنت</title>
                <link>https://virgool.io/@iranvelco/%D8%BA%DB%8C%D8%B1%D9%81%D8%B9%D8%A7%D9%84-%DA%A9%D8%B1%D8%AF%D9%86-%D8%B4%D8%B1%D8%B7%DB%8C-%D8%A7%DA%A9%D8%B4%D9%86-%D9%87%D8%A7-%D8%AF%D8%B1-%D8%AC%D8%AF%D9%88%D9%84-%D9%87%D8%A7%DB%8C-%D9%81%DB%8C%D9%84%D8%A7%D9%85%D9%86%D8%AA-hqb2xdbnatil</link>
                <description>سلام دوستاندر پروژه ای که داشتم انجام می دادم لازم بود که در جدولی که لیست کاربران رو نمایش می داد برای ردیف های خاصی کلید ویرایش نمایش داده نشه، از کد زیر استفاده کردم:EditAction::make()
    -&gt;hidden(fn (User $record): bool =&gt; $record-&gt;role_id == ROLE_PARTNER)
    -&gt;iconButton(),</description>
                <category>Mahdi Fadavi</category>
                <author>Mahdi Fadavi</author>
                <pubDate>Sat, 13 Apr 2024 13:16:03 +0330</pubDate>
            </item>
                    <item>
                <title>اضافه کردن فوتر به پنل فیلامنت</title>
                <link>https://virgool.io/@iranvelco/%D8%A7%D8%B6%D8%A7%D9%81%D9%87-%DA%A9%D8%B1%D8%AF%D9%86-%D9%81%D9%88%D8%AA%D8%B1-%D8%A8%D9%87-%D9%BE%D9%86%D9%84-%D9%81%DB%8C%D9%84%D8%A7%D9%85%D9%86%D8%AA-v2macbien3ei</link>
                <description>برای اضافه کردن فوتر مشابه تصویر در فیلامنت لازمه که فایل app/Providers/Filament/AdminPanelProvider.php رو باز کنید و قطعه کد زیر رو بهش اضافه کنید:public function panel(Panel $panel): Panel
{
    return $panel
        // ...
        -&gt;renderHook(
            &#039;panels::body.end&#039;,
            fn () =&gt; view(&#039;customFooter&#039;),
        );
}در مرحله بعد باید فایل resources/views/customFooter.blade.php رو ایجاد کنید و محتویات زیر رو در اون کپی کنید:&lt;footer class=&amp;quotbottom-0 left-0 z-20 w-full p-4 bg-white border-t border-gray-200 shadow md:flex md:items-center md:justify-between md:p-6 dark:bg-gray-800 dark:border-gray-600&amp;quot&gt;
    &lt;span class=&amp;quottext-sm text-gray-500 sm:text-center dark:text-gray-400&amp;quot&gt;© 1403
        &lt;a href=&amp;quot#&amp;quot class=&amp;quothover:underline&amp;quot&gt;تمام حقوق مادی و معنوی برای وب بیمه محفوظ است&lt;/a&gt;.
    &lt;/span&gt;
&lt;/footer&gt;و تمام.</description>
                <category>Mahdi Fadavi</category>
                <author>Mahdi Fadavi</author>
                <pubDate>Tue, 09 Apr 2024 13:40:22 +0330</pubDate>
            </item>
                    <item>
                <title>فیلامنت، اضافه کردن صفحه ویرایش پروفایل</title>
                <link>https://virgool.io/avasam-laravel-edu/%D9%81%DB%8C%D9%84%D8%A7%D9%85%D9%86%D8%AA-%D8%A7%D8%B6%D8%A7%D9%81%D9%87-%DA%A9%D8%B1%D8%AF%D9%86-%D8%B5%D9%81%D8%AD%D9%87-%D9%88%DB%8C%D8%B1%D8%A7%DB%8C%D8%B4-%D9%BE%D8%B1%D9%88%D9%81%D8%A7%DB%8C%D9%84-s8n0zqntxzia</link>
                <description>1- فایل AdminPanelProvider رو باز می کنیم و خط آخر قطعه کد زیر رو بهش اضافه می کنیم:use App\Filament\Pages\Auth\EditProfile;
use Filament\Panel;
public function panel(Panel $panel): Panel
{
    return $panel
        // ...-&gt;login()
        -&gt;registration()
        -&gt;passwordReset()
        -&gt;profile(EditProfile::class);
}2- فایل EditProfile.phpرو در مسیر app/Filament/Pages/Auth/ ایجاد می کنیم و قطعه کد زیر رو توش کپی می کنیم:&lt;?php
namespace App\Filament\Pages\Auth;
use Filament\Forms\Components\TextInput;
use Filament\Forms\Form;
use Filament\Pages\Auth\EditProfile as BaseEditProfile;
class EditProfile extends BaseEditProfile
{
    public function form(Form $form): Form
    {
        return $form-&gt;schema([
            TextInput::make(&#039;user_name&#039;)-&gt;required()-&gt;maxLength(255),
            $this-&gt;getNameFormComponent(),
            $this-&gt;getEmailFormComponent(),
            $this-&gt;getPasswordFormComponent(),
            $this-&gt;getPasswordConfirmationFormComponent(),
       ]);
    }
}به جای سطر اول آرایه می تونیم از تابع زیر هم استفاده کنیم:protected function getUserNameFormComponent(): Component
{
    return TextInput::make(&#039;user_name&#039;)
        -&gt;label(__(&#039;fields.user_name&#039;))
        -&gt;required()
        -&gt;autofocus()
        -&gt;autocomplete();
}و تمام.</description>
                <category>Mahdi Fadavi</category>
                <author>Mahdi Fadavi</author>
                <pubDate>Wed, 21 Feb 2024 20:35:30 +0330</pubDate>
            </item>
                    <item>
                <title>فیلامنت، ورود با نام کاربری به جای ایمیل</title>
                <link>https://virgool.io/avasam-laravel-edu/%D9%81%DB%8C%D9%84%D8%A7%D9%85%D9%86%D8%AA-%D9%88%D8%B1%D9%88%D8%AF-%D8%A8%D8%A7-%D9%86%D8%A7%D9%85-%DA%A9%D8%A7%D8%B1%D8%A8%D8%B1%DB%8C-%D8%A8%D9%87-%D8%AC%D8%A7%DB%8C-%D8%A7%DB%8C%D9%85%DB%8C%D9%84-u2u2jr9ircnl</link>
                <description>در FilamentPHP صفحه لاگین به صورت پیش فرض این جوریه که با ایمیل و کلمه عبور کار می کنه، در ادامه می نویسم که چطور باید تغییرات بدیم که با نام کاربری (مثلا شماره همراه) و کلمه عبور بتونیم لاگین کنیم:0- قبل از هر چیز یادتون باشه که در جدول کاربران فیلد user_name رو ایجاد کنید.1- فایلی رو در مسیر زیر ایجاد می کنیم:app/Filament/Auth/Login.php2- کدهای زیر رو در فایل مورد نظر کپی کنید:&lt;?php
namespace App\Filament\Pages;

use Filament\Facades\Filament;
use Filament\Pages\Auth\Login;
use Filament\Forms\Components\Component;
use Filament\Forms\Components\TextInput;
use Illuminate\Contracts\Support\Htmlable;

class CustomLogin extends Login
{
    public function mount(): void
    {
        if (Filament::auth()-&gt;check()) {
            redirect()-&gt;intended(Filament::getUrl());
        }

        /* if (app()-&gt;environment(&#039;local&#039;)) {
            $this-&gt;form-&gt;fill([
                &#039;user_name&#039; =&gt; &#039;admin&#039;,
                &#039;password&#039; =&gt; &#039;password&#039;,
            ]);
        } */
    }
    protected function getCredentialsFromFormData(array $data): array
    {
        return [
            &#039;user_name&#039; =&gt; $data[&#039;user_name&#039;],
            &#039;password&#039; =&gt; $data[&#039;password&#039;],
        ];
    }

    public function getTitle(): string|Htmlable
    {
        return __(&#039; ورود به حساب کاربری &#039;);
    }

    public function getHeading(): string|Htmlable
    {
        return __(&#039; ورود به حساب کاربری &#039;);
    }

    protected function getEmailFormComponent(): Component
    {
        return TextInput::make(&#039;user_name&#039;)
            -&gt;label(&#039;نام کاربری&#039;)
            -&gt;required()
            -&gt;autofocus()
            -&gt;extraInputAttributes([&#039;tabindex&#039; =&gt; 1])
            -&gt;autocomplete();
    }
}3- در فایل AdminPanelProvider.php در قسمت panel$ قطعه کد زیر رو تغییر بدین:-&gt;login(CustomLogin::class)و تمام</description>
                <category>Mahdi Fadavi</category>
                <author>Mahdi Fadavi</author>
                <pubDate>Tue, 20 Feb 2024 12:21:22 +0330</pubDate>
            </item>
                    <item>
                <title>رفع کند بودن بالا آمدن پنل Filamentphp</title>
                <link>https://virgool.io/avasam-laravel-edu/%D8%B1%D9%81%D8%B9-%DA%A9%D9%86%D8%AF-%D8%A8%D9%88%D8%AF%D9%86-%D8%A8%D8%A7%D9%84%D8%A7-%D8%A2%D9%85%D8%AF%D9%86-%D9%BE%D9%86%D9%84-filamentphp-f9rwbmez0eeu</link>
                <description>در فیلامنت بعضی مواقع صفحات به کندی لود می شدند که با بررسی که انجام دادم متوجه شده که در حال لود کردن فونت از آدرس زیر هست:https://fonts.bunny.netبرای رفع این مشکل کافیه به آدرس زیر برید:vendor\filament\filament\src\FontProviders\BunnyFontProvider.phpو در خط 15 کد زیر رو اضافه کنید:return new HtmlString(&amp;quot&amp;quot);</description>
                <category>Mahdi Fadavi</category>
                <author>Mahdi Fadavi</author>
                <pubDate>Sun, 28 Jan 2024 17:26:58 +0330</pubDate>
            </item>
                    <item>
                <title>یکتا بودن مقدار فیلد در Filamentphp با دو شرط مختلف</title>
                <link>https://virgool.io/@iranvelco/%DB%8C%DA%A9%D8%AA%D8%A7-%D8%A8%D9%88%D8%AF%D9%86-%D9%85%D9%82%D8%AF%D8%A7%D8%B1-%D9%81%DB%8C%D9%84%D8%AF-%D8%AF%D8%B1-filamentphp-%D8%A8%D8%A7-%D8%AF%D9%88-%D8%B4%D8%B1%D8%B7-%D9%85%D8%AE%D8%AA%D9%84%D9%81-p0buapl9nk6i</link>
                <description>اگر بخواهیم اعتبارسنجی رو بذاریم روی یکتا بودن یک فیلد می تونیم از دستور زیر استفاده کنیم:-&gt;unique(ignoreRecord: true)ولی اگر بخواهیم شرط های بیشتری روی یکتا بودن بذاریم باید به روش زیر کد رو تغییر بدهیم:-&gt;unique(ignoreRecord: true, modifyRuleUsing: function (Unique $rule) {
        return $rule-&gt;where(&#039;company_id&#039;, auth()-&gt;user()-&gt;company_id);
})برای مطالعه بیشتر به آدرس زیر مراجعه شود:https://filamentphp.com/docs/3.x/forms/validation</description>
                <category>Mahdi Fadavi</category>
                <author>Mahdi Fadavi</author>
                <pubDate>Sun, 28 Jan 2024 11:20:10 +0330</pubDate>
            </item>
                    <item>
                <title>جستجو روی بیش از یک فیلد در فیلامنت</title>
                <link>https://virgool.io/avasam-laravel-edu/%D8%AC%D8%B3%D8%AA%D8%AC%D9%88-%D8%B1%D9%88%DB%8C-%D8%A8%DB%8C%D8%B4-%D8%A7%D8%B2-%DB%8C%DA%A9-%D9%81%DB%8C%D9%84%D8%AF-%D8%AF%D8%B1-%D9%81%DB%8C%D9%84%D8%A7%D9%85%D9%86%D8%AA-gcdo4p4szdd0</link>
                <description>اگر بخواهیم اطلاعات نام و نام خانواگی کاربر رو در جدول به صورت یک فیلد نام و نام خانوادگی در یک ستون نمایش بدهیم یک روش اینه که مثلا در مدل کاربر یک تابع بنویسیم که full_name رو برگردونه، حالا زمانی که بخواهیم روی همان ستون جستجو داشته باشیم به خطا خواهیم خورد ، چون فیلد full_name در دیتابیس وجود ندارد.برای رفع این مشکل یکی از راه حل ها این هست که کد رو به صورت زیر بنویسیم:TextColumn::make(&#039;full_name&#039;)-&gt;searchable([&#039;first_name&#039;, &#039;last_name&#039;])</description>
                <category>Mahdi Fadavi</category>
                <author>Mahdi Fadavi</author>
                <pubDate>Sat, 27 Jan 2024 12:16:01 +0330</pubDate>
            </item>
                    <item>
                <title>رفع مشکل پلاگین Jalali DateTime Picker (AriaieBOY) در زمان استفاده از فیلتر ها در فیلامنت</title>
                <link>https://virgool.io/avasam-laravel-edu/%D8%B1%D9%81%D8%B9-%D9%85%D8%B4%DA%A9%D9%84-%D9%BE%D9%84%D8%A7%DA%AF%DB%8C%D9%86-jalali-datetime-picker-ariaieboy-%D8%AF%D8%B1-%D8%B2%D9%85%D8%A7%D9%86-%D8%A7%D8%B3%D8%AA%D9%81%D8%A7%D8%AF%D9%87-%D8%A7%D8%B2-%D9%81%DB%8C%D9%84%D8%AA%D8%B1-%D9%87%D8%A7-%D8%AF%D8%B1-%D9%81%DB%8C%D9%84%D8%A7%D9%85%D9%86%D8%AA-jtu3d2nynr7t</link>
                <description>یکی از پلاگین های خیلی خوب و کاربردی در filamentphp برای انتخاب تاریخ و زمان Jalali DateTime Picker نوشته شده توسط AriaieBOY هست ، ولی من متوجه شدم که زمانی که در فیلترها از این پلاگین استفاده می کنیم پرش داره ، برای رفع مشکل به فایل زیر رو باز کنیدvendor/ariaieboy/filament-jalali-datetimepicker/resources/views/components/jalali-datetimepicker.blade.phpو به خط شماره 111 برید و به شکل زیر تغییرش بدین و تمامx-float.placement.bottom-start.offset.autoPlacement.shift=&quot;{ offset: 8 }&quot;</description>
                <category>Mahdi Fadavi</category>
                <author>Mahdi Fadavi</author>
                <pubDate>Wed, 24 Jan 2024 19:16:56 +0330</pubDate>
            </item>
                    <item>
                <title>مشکل پارک خودرو جلوی پارکینگ</title>
                <link>https://virgool.io/@iranvelco/%D9%85%D8%B4%DA%A9%D9%84-%D9%BE%D8%A7%D8%B1%DA%A9-%D8%AE%D9%88%D8%AF%D8%B1%D9%88-%D8%AC%D9%84%D9%88%DB%8C-%D9%BE%D8%A7%D8%B1%DA%A9%DB%8C%D9%86%DA%AF-hypwsctvy1fp</link>
                <description>سلام و وقت بخیر یه مشکلی که من دارم اینه که معمولا همسایه ها و کسبه بیشعور دور و بر خونمون ماشین رو پل و جلوی در پارکینگ پارک می کنن، با پلیس 110 هم که تماس می گیرم فقط می گه که به پلیس راهور اطلاع می دیم که باهاشون تماس بگیرین و ظاهرا هیچ کار دیگه ای هم نمی تونن بکنن #پلیس_مقتدر ;-)از پلیس تقاضای جرثقیل برای انتقال خودرو که کردم می گه که حکم قضایی لازم هست، حتی فکر می کنم که جریمه هم نمی کنن و باید منتظر بمونیم که بیشعور خان خودش بیاد ماشین رو هر موقعی که صلاح دونست جابجا کنه.اگر کسی راه حلی بلده لطفا بگه، ممنون.</description>
                <category>Mahdi Fadavi</category>
                <author>Mahdi Fadavi</author>
                <pubDate>Thu, 28 Dec 2023 12:42:16 +0330</pubDate>
            </item>
                    <item>
                <title>نکته در FilamentPHP و ترجمه تب ها در Relation Manager</title>
                <link>https://virgool.io/avasam-laravel-edu/%D9%86%DA%A9%D8%AA%D9%87-%D8%AF%D8%B1-filamentphp-%D9%88-%D8%AA%D8%B1%D8%AC%D9%85%D9%87-%D8%AA%D8%A8-%D9%87%D8%A7-%D8%AF%D8%B1-relation-manager-quxfxi6fme0a</link>
                <description>زمانی که در Filament برای یک Resource بیش از یک RelationManager تعریف می کنیم لازم می شه که تب هایی که در تصویر مشاهده می کنید رو ترجمه کنیم، برای این کار لازمه که به فایل RelationManager مربوطه مراجعه کنید و در قسمت بالا کد زیر رو بنویسید:use Illuminate\Database\Eloquent\Model;و در داخل کلاس هم کد زیر رو اضافه کنید:public static function getTitle(Model $ownerRecord, string $pageClass): string
{
     return &#039;عنوان ترجمه شده تب&#039;;
}با آرزوی سلامتی و موفقیت برای دوستان عزیز.</description>
                <category>Mahdi Fadavi</category>
                <author>Mahdi Fadavi</author>
                <pubDate>Sat, 02 Dec 2023 13:52:30 +0330</pubDate>
            </item>
                    <item>
                <title>جستجو در جداول برای FilamentPHP</title>
                <link>https://virgool.io/avasam-laravel-edu/%D8%AC%D8%B3%D8%AA%D8%AC%D9%88-%D8%AF%D8%B1-%D8%AC%D8%AF%D8%A7%D9%88%D9%84-%D8%A8%D8%B1%D8%A7%DB%8C-filamentphp-l9a0aqwmltod</link>
                <description>یکی از کشفیات مهم من پیدا کردن FilamentPHP بود که خیلی کار برنامه نویسی قسمت پنل مدیریت رو راحت می کنه، به دوستان و جوانان عزیز توضیه می کنم که حتما ازش استفاده کنند.بعضوی وقت های هست که در جداول می خواهیم در یک ستون ترکیبی از چند ستون دیگر را نمایش دهیم مثلا در ستون نام کالا این طور بنویسیم: آدامس تریدنت هندوانه، که ترکیبی از نام کالا، نوع و شاخص هست، حالا برای جستجو باید به صورت زیر کد را بنویسیم:TextColumn::make(&#039;product.full_name&#039;)-&gt;searchable([&#039;first_name&#039;, &#039;last_name&#039;]),</description>
                <category>Mahdi Fadavi</category>
                <author>Mahdi Fadavi</author>
                <pubDate>Fri, 01 Dec 2023 12:42:16 +0330</pubDate>
            </item>
                    <item>
                <title>معرفی پکیج های کاربردی لاراول - reliese / laravel</title>
                <link>https://virgool.io/@iranvelco/%D9%85%D8%B9%D8%B1%D9%81%DB%8C-%D9%BE%DA%A9%DB%8C%D8%AC-%D9%87%D8%A7%DB%8C-%DA%A9%D8%A7%D8%B1%D8%A8%D8%B1%D8%AF%DB%8C-%D9%84%D8%A7%D8%B1%D8%A7%D9%88%D9%84-reliese-laravel-qnky1rv47foq</link>
                <description>سلامدر ادامه پست های معرفی پکیج های کاربردی لاراول ، امروز یه پکیج خوب دیگه پیدا کردمreliese/laravel پکیج Reliese Laravel Model Generator قابلیت‌های خوبی برای تولید کد داره و هدفش سرعت دادن به کد نویسی در پروژه هایی هست که با لاراول انجام می شه. این ابزار ساختار پایگاه داده شما رو می گیره و نام ستون‌ها و کلیدهای خارجی را بررسی می‌کنه و به‌طور خودکار مدل‌ها رو همراه با هرگونه رابطه ای که با مدل‌های دیگه دارن تولید می کنه.برای توضیحات تکمیلی می تونید به آدرس گیت هاب پکیج (reliese/laravel) مراجعه کنین و ازش استفاده کنین و لذتش رو ببرین.</description>
                <category>Mahdi Fadavi</category>
                <author>Mahdi Fadavi</author>
                <pubDate>Tue, 14 Nov 2023 11:46:08 +0330</pubDate>
            </item>
            </channel>
</rss>