پشتیبانی و فارسی کردن آدرس ها در WHMCS [ SEO Friendly URLs ]

به دلیل عدم پشتیبانی SEO Friendly URLs از زبان فارسی در WHMCS امکان بهینه سازی آدرس ها نیست، همچنین چون به دلیل Core Class و کد بودن آن امکان دسترسی و ادیت آن هم نیست به همین دلیل روشی آماده کردیم که با چند مرحله ساده میتوانید Pattern دلخواه و آدرس بهینه همراه با پشتیبانی از زبان فارسی بسازید.

ابتدا فایل .htaccess را باز کنید و اگر از دستور شرطی <IfModule mod_rewrite.c> استفاده شده بعد از آن (یا قبل از بسته شدن </IfModule>) قرار دهید :

RewriteRule ^post\/(\d+)(\/(.*))?$ announcements.php?id=$1 [L]

پترن ما به شکل زیر خواهد بود :

https://my.mellicloud.com/knowledgebase/3/پشتیبانی و فارسی کردن آدرس ها در WHMCS.html

سپس به پوشه قالب خود مراجعه کرده و فایل announcements.tpl را باز کنید و در المان های HTML آن دنبال تگ های a باشید که آدرس آن ها معمولا به شکل های زیر قرار گرفته است :

{$smarty.server.PHP_SELF}?id={$announcement.id}
{if $seofriendlyurls}{$WEB_ROOT}/announcements/{$announcement.id}/{$announcement.urlfriendlytitle}.html{else}{$smarty.server.PHP_SELF}?id={$announcement.id}{/if}

بعد از پیدا کردن تگ ها آدرس آن ها را به شکل زیر تغییر دهید :

<a href="/post/{$announcement.id}/{$announcement.title|replace:' ':'-'}">

برای بهینه سازی آدرس ها در بالا با استفاده از متد Replace در اسمارتی Whitespace ها را با - در آدرس جایگزین کردیم و در آخر فایل را ذخیره کنید.


نمایش لیست اخبار:

همچنین اگر نیاز دارید در یک قسمت از قالب خود لیست اخبار را با URL پترن بهینه شده به قالب پاس دهید، یک فایل با نام news.php در مسیر includes/hooks بسازید و داخل آن قرار دهید :

use Illuminate\Database\Capsule\Manager as Capsule;
function hook_footerAnnouncements($vars){

    $output = null;
    $data = Capsule::table('tblannouncements')
                ->select('*')
                ->where('published', '=', 1)
                ->limit('7')
                ->orderBy('date', 'desc')
                ->get();

    foreach($data as $new) {
        $id                = $new->id;
        $date            = $new->date;
        $title            = $new->title;
        $titleU            = str_replace(' ', '-', $title);
        $announcement    = $new->announcement;
        $date            = fromMySQLDate($date);
        $output .= '<li><a href="/post/'.$id.'/'.$titleU.'/"><i class="material-icons">panorama_fish_eye</i> '.$title.'</a></li>';
    }
    return array("footerannouncements" => $output);
}
add_hook("ClientAreaPage", 1, "hook_footerAnnouncements");

همکنون در در قالب خود میتوانید با اضافه کردن {footerannouncements} لیست آخرین اخبار ها را با SEO Friendly URLs نمایش دهید.

  • پشتیبانی و فارسی کردن آدرس ها در WHMCS, آدرس اخبار, آدرس اخبار whmcs, مشکل لینک اخبار whmcs, whmcs announcements url, آدرس آموزش ها در whmcs
Bu cevap yeterince yardımcı oldu mu? 274 Bu dökümanı faydalı bulan kullanıcılar: