خوش امدید به سایت اپن کارت با طعم پارسی - مرجع رسمی اپن کارت

لطفاً برای دسترسی به تمامی بخش های سایت مراحل ثبت نام و ایجاد حساب کاربری را طی نمایید. پس از ثبت نام و ورود به سیستم، شما قادر به استفاده از امکاناتی همچون دانلود فایل ها، ایجاد موضوع، ارسال پاسخ به مباحث موجود، دادن امتیاز به اعضای دیگر، ارسال و دریافت پیام خصوصی، مدیریت نمایه و دیگر امکانات سایت خواهید بود. بعد از ثبت نام و ورودتان به سیستم این پیام دیگر برای شما نمایش داده نخواهد شد. اوقات خوب و لحظات مفیدی را برای شما در سایت آرزو مندیم.

درود 

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

aaaaa.PNG

0

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


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

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

  • 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؟ مسیر = مشترک / صفحه اصلی)

 
 
 
 
 
   
 
1

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


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

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

home.PNG

product.PNG

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

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

Sent from my thl T11 using Tapatalk

1

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


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

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

1

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


لینک به ارسال
به اشتراک گذاری در سایت های دیگر
  • 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

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


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

سلام

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

?

2

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


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

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

2

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


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

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

درود

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

fgth.PNG

0

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


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

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


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

درود 

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

home.PNG

product.PNG

0

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


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

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

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

0

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


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

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

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

Sent from my thl T11 using Tapatalk

درود

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

0

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


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

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

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

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

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


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

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

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


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