رفتن به مطلب
آخرین خبرها
  • بخش بازارچه اپن کارت پارسی به شیوه جدید افتتاح شد . جهت دسترسی میتوانید بر روی لینک زیر کلیک نمایید فروشگاه اپن کارت پارسی

این سایت از کوکی استفاده می کند. ادامه مرور در این سایت به منزله این است که با استفاده کوکی ها توسط ما موافقت کرده اید.

 

 

سوال

درود 

من فایل  seo_url.php را در میسر  catalog/controller/common/seo_url.php با ادیتور نت پد کدها رو جهت بیهنه سازی آدرسهای سایت و حذف index.php?route تغیر دادم اما ارور میده دوستان کسی میدونه مشکل کجاست و چطوری برطرف میشه خطا در ضمیمه با تشکر  

aaaaa.PNG

به اشتراک گذاری این ارسال


لینک به ارسال
به اشتراک گذاری در سایت های دیگر

11 پاسخ به این سوال تا کنون داده شده است

پست های پیشنهاد شده

  • 1
درود 

من کدهای جدیدی ور وارد کردم و آدرسهای درست شد و برای لود شدن صفحه ها خطا میده ممکنه این خطا مربوط به هاستینگ باشه ممنون

home.PNG

product.PNG

در صورتی که هاست / تنظیمات اون مشکل داشت در حالت عادی هم تو لود صفحات مشکل ایجاد میشد

در این روشی که گفتین اگر بعد ها تغییراتی در دسته بندی یا ... اضافه کردین باز درست کار خواهد کرد؟ بنظرم در هر تغییرات باید مجدد دیتابیس را دستکاری کنید که کار عاقلانه ای نیستش! مگر اینکه با انجام اینکار نیاز به اجرای مجدد در اینده نباشد.

Sent from my thl T11 using Tapatalk

به اشتراک گذاری این ارسال


لینک به ارسال
به اشتراک گذاری در سایت های دیگر
  • 0

سلام فايل htaccess را برسي نماييد .

به اشتراک گذاری این ارسال


لینک به ارسال
به اشتراک گذاری در سایت های دیگر
  • 0

سلام 

هر موردی که داخل این فایل اضافه کرده بودم رو پاک کردم تاثیری نداشت حتی فایل رو دوباره آپلود کردم بازم همین ایراد روی خط 89 میاد این فایل تغیر یافته است ممنون میشم راهنمای کنید

<?php
class ControllerCommonSeoUrl extends Controller {
        /* SEO Custom URL */
        private $url_list = array (
            'common/home'       => 'home',
            'checkout/cart'     => 'cart',
            'account/register'  => 'register',
                        'account/wishlist'  => 'wishlist',
                        'checkout/checkout' => 'checkout',
                        'account/login'     => 'login',
                        'product/special'   => 'special',
                        'affiliate/account' => 'affiliate',
                        'checkout/voucher'  => 'voucher',
                        'product/manufacturer' => 'brand',
                        'account/newsletter'   => 'newsletter',
                        'account/order'        => 'order',
                        'account/account'      => 'account',
                        'information/contact'  => 'contact',
                        'account/return/insert' => 'return/insert',
                        'information/sitemap'   => 'sitemap',
            );
        /* SEO Custom URL */

        public function index() {
                // Add rewrite to url class
                if ($this->config->get('config_seo_url')) {
                        $this->url->addRewrite($this);
                }

                // Decode URL
                if (isset($this->request->get['_route_'])) {
                        $parts = explode('/', $this->request->get['_route_']);

                                                if ( count($parts) > 1 ) {
                                                        if ($parts[1] == 'category'){
                                                                $this->request->get['path'] = $parts[2];
                                                                for ( $i = 3 ; $i < count($parts); $i++) {      
                                                                        $this->request->get['path'] .= '_' . $parts[$i];
                                                                }
                                                        }elseif( $parts[1] == 'item' ) {
                                                                $this->request->get['product_id'] = $parts[2];
                                                        }
                                                }
                        foreach ($parts as $part) {
                                $query = $this->db->query("SELECT * FROM " . DB_PREFIX . "url_alias WHERE keyword = '" . $this->db->escape($part) . "'");

                                if ($query->num_rows) {
                                        $url = explode('=', $query->row['query']);

                                        if ($url[0] == 'product_id') {
                                                $this->request->get['product_id'] = $url[1];
                                        }

                                        if ($url[0] == 'category_id') {
                                                if (!isset($this->request->get['path'])) {
                                                        $this->request->get['path'] = $url[1];
                                                } else {
                                                        $this->request->get['path'] .= '_' . $url[1];
                                                }
                                        }       

                                        if ($url[0] == 'manufacturer_id') {
                                                $this->request->get['manufacturer_id'] = $url[1];
                                        }

                                        if ($url[0] == 'information_id') {
                                                $this->request->get['information_id'] = $url[1];
                                        }       
                                } else {
                                        $this->request->get['route'] = 'error/not_found';       
                                }
                        }
                        /* SEO Custom URL */
                        if ( $_s = $this->setURL($this->request->get['_route_']) ) {
                                $this->request->get['route'] = $_s;
                        }/* SEO Custom URL */

                        if (isset($this->request->get['product_id'])) {
                                $this->request->get['route'] = 'product/product';
                        } elseif (isset($this->request->get['path'])) {
                                $this->request->get['route'] = 'product/category';
                        } elseif (isset($this->request->get['manufacturer_id'])) {
                                $this->request->get['route'] = 'product/manufacturer/product';
                        } elseif (isset($this->request->get['information_id'])) {
                                $this->request->get['route'] = 'information/information';
                        }

                        if (isset($this->request->get['route'])) {
                                return $this->forward($this->request->get['route']);
                        }
                }
        }

        public function rewrite($link) {
                if ($this->config->get('config_seo_url')) {
                        $url_data = parse_url(str_replace('&amp;', '&', $link));

                        $url = ''; 

                        $data = array();

                        parse_str($url_data['query'], $data);

                        foreach ($data as $key => $value) {
                                if (isset($data['route'])) {
                                        if ( (($data['route'] == 'product/manufacturer/product' || $data['route'] == 'product/product') && $key == 'manufacturer_id') || ($data['route'] == 'information/information' && $key == 'information_id')) {
                                                $query = $this->db->query("SELECT * FROM " . DB_PREFIX . "url_alias WHERE `query` = '" . $this->db->escape($key . '=' . (int)$value) . "'");

                                                if ($query->num_rows) {
                                                        $url .= '/' . $query->row['keyword'];

                                                        unset($data[$key]);
                                                }                                       
                                        } elseif( $key == 'product_id' ) {

                                                $url = '/shop/item/'.$value;
                                                unset($data[$key]);

                                              }elseif ($key == 'path') {

                                                $categories = explode('_', $value);
                                                $url = '/shop/category';
                                                foreach ($categories as $category) {
                                                        $url .= '/'.$category;
                                                }
                                                unset($data[$key]);

                                        }// 
                                        /* SEO Custom URL */
                                        if( $_u = $this->getURL($data['route']) ){
                                            $url .= $_u;
                                            unset($data[$key]);
                                        }/* SEO Custom URL */        


                                }
                        }

                        if ($url) {
                                unset($data['route']);

                                $query = '';

                                if ($data) {
                                        foreach ($data as $key => $value) {
                                                $query .= '&' . $key . '=' . $value;
                                        }

                                        if ($query) {
                                                $query = '?' . trim($query, '&');
                                        }
                                }

                                return $url_data['scheme'] . '://' . $url_data['host'] . (isset($url_data['port']) ? ':' . $url_data['port'] : '') . str_replace('/index.php', '', $url_data['path']) . $url . $query;
                        } else {
                                return $link;
                        }
                } else {
                        return $link;
                }               
        }

        /* SEO Custom URL */
        public function getURL($route) {
                if( count($this->url_list) > 0) {
                     foreach ($this->url_list as $key => $value) {
                        if($route == $key) {
                            return '/'.$value;
                        }
                     }
                }
                return false;
        }
        public function setURL($_route) {
                if( count($this->url_list) > 0 ){
                     foreach ($this->url_list as $key => $value) {
                        if($_route == $value) {
                            return $key;
                        }
                     }
                }
                return false;
        }/* SEO Custom URL */
}
?>

 

به اشتراک گذاری این ارسال


لینک به ارسال
به اشتراک گذاری در سایت های دیگر
  • 0

سلام

دوست عزيز پيش از جايگزيني فايل مي باست كليه كش ها را پاك نماييد (كش browser, كش vqmode , كش سيستم ) اگر مشكل برقرار بود باز اعلام فرماييد

?

به اشتراک گذاری این ارسال


لینک به ارسال
به اشتراک گذاری در سایت های دیگر
  • 0

در صورت امکان در مورد حذف index.php?route بیشتر توضیح بدین /  چرا این تغییرات رو ایجاد کردین و نحوه اعمال تغییرات.ممنون

به اشتراک گذاری این ارسال


لینک به ارسال
به اشتراک گذاری در سایت های دیگر
  • 0
در 7 ساعت قبل، saeed1000 گفته است :

در صورت امکان در مورد حذف index.php?route بیشتر توضیح بدین /  چرا این تغییرات رو ایجاد کردین و نحوه اعمال تغییرات.ممنون

درود

در انجمن قبلی و نسخه های 1.5 ماژولهای برای بهینه سازی آدرس های سئو وجود داشت _البته غیر تجاری_ من هر کجا جستجو کردم برای نسخه 2 این ماژولها تجاری هستنند من در انجمن قبلی به دنبال راه حل این مشکل بودم که به توصیه آقای قوچی و توضیح ایشان مبنی بر درست کردن آدرس بصورت دستی داخل نتپد بود من هم فایل   seo_url.php رو با ادیتور باز کردم وکدها رو جا به جا کردم  که در پست اول ارور رو دیدید و این هم بعد پاک کردن کشها و جایگزینی فایل ممنون میشم راهنمای کنید

fgth.PNG

به اشتراک گذاری این ارسال


لینک به ارسال
به اشتراک گذاری در سایت های دیگر
  • 0

درود

تنها موردی که در مورد نسخه 2.0.3.1 بود همین مورد بود من متوجه نشدم در کدام میسر باید اعمال بشه ممنون

( اما راه حل من می تواند برای دیگران (تست شده در OpenCart 2.0.3.1) مفید باشد:

باز کردن کنسول MySQL خود را و اجرای این پرس و جو (تغییر YOURDATABASE با نام پایگاه داده خود):

 INSERT INTO `YOURDATABASE` . `url_alias`   ( `url_alias_id` ,   `query` ,   `keyword` )  VALUES ( NULL ,   'common/home' ,   ' ' ); 

چگونه کار می کند:

فوت و فن شامل اضافه کردن یک فضای سفید ( "") برای ستون "کلمه کلیدی"، اگر شما یک رشته خالی وارد ( "") این راه حل کار نمی کند و دوباره نویس آدرس بازگشت دوباره فایل index.php؟ مسیر = مشترک / صفحه اصلی)

 
 
 
 
 
   
 

به اشتراک گذاری این ارسال


لینک به ارسال
به اشتراک گذاری در سایت های دیگر
  • 0

درود 

من کدهای جدیدی ور وارد کردم و آدرسهای درست شد و برای لود شدن صفحه ها خطا میده ممکنه این خطا مربوط به هاستینگ باشه ممنون

home.PNG

product.PNG

به اشتراک گذاری این ارسال


لینک به ارسال
به اشتراک گذاری در سایت های دیگر
  • 0

آموزش خوبی بود.

فقط همین کارها کفایت می کند !؟

به اشتراک گذاری این ارسال


لینک به ارسال
به اشتراک گذاری در سایت های دیگر
  • 0
در در ۱۳۹۵/۴/۱۷ ه‍.ش. در 09:18، saeed1000 گفته است :

در صورتی که هاست / تنظیمات اون مشکل داشت در حالت عادی هم تو لود صفحات مشکل ایجاد میشد

در این روشی که گفتین اگر بعد ها تغییراتی در دسته بندی یا ... اضافه کردین باز درست کار خواهد کرد؟ بنظرم در هر تغییرات باید مجدد دیتابیس را دستکاری کنید که کار عاقلانه ای نیستش! مگر اینکه با انجام اینکار نیاز به اجرای مجدد در اینده نباشد.

Sent from my thl T11 using Tapatalk

درود

من از اون روش استفاده نکردم من کد های جدیدی رو در این میسر   catalog/controller/common/seo_url.php وارد کردم که نمیدونم مشکل مربوط به کدها میشه یا باید تغییرات دیگه هم اعمال بشه تا سایت با آدرسهای جدید لود بشه ممنون میشم راهنمای کنید  

به اشتراک گذاری این ارسال


لینک به ارسال
به اشتراک گذاری در سایت های دیگر

برای ارسال دیدگاه یک حساب کاربری ایجاد کنید یا وارد حساب خود شوید

برای اینکه بتوانید دیدگاهی ارسال کنید نیاز دارید که کاربر سایت شوید

ایجاد یک حساب کاربری

برای حساب کاربری جدید در سایت ما ثبت نام کنید. عضویت خیلی ساده است !

ثبت نام یک حساب کاربری جدید

ورود به حساب کاربری

دارای حساب کاربری هستید؟ از اینجا وارد شوید

ورود به حساب کاربری

مجوزها

درباره ما

اپن کارت پارسی مرجع رسمی اپن کارت در ایران ، در 9 مهر ماه سال 1388 به طور رسمی فعالیت خود را در زمینه پشتیبانی اپن کارت آغاز کرده است.این مجموعه به همراه گروه فنی خود با در نظر داشتن چشم اندازی برای آینده نزدیک ، قصد دارد تا به معرفی و آموزش هرچه بیشتر و بهتر هسته قدرتمند و دوست داشتنی اپن کارت ، به روش های مختلف در زمینه های گوناگون بپردازد تا در کنار کاربران خود به موفقیت های هر روز خود بیفزاید
×

اطلاعات مهم

شما باید شرایط قوانین و مقررات این سایت را بپذیرید شرایط استفاده.