[Помогите] Возникла проблема при смене хостинга

Тема в разделе "OpenCart", создана пользователем Greed95, 21 янв 2014.

  1. Greed95

    Greed95

    Регистрация:
    31 янв 2013
    Сообщения:
    74
    Симпатии:
    4
    Доброго времени суток! наконец я перешел на другой хостинг, мне помогли все перенести, и тут оказывается появляются ошибки, сначала была проблема с открытием админки (благо писать об этой проблеме не стал, нашел ответы тут же) но возникла другая проблема, во первых у меня на некоторых товарах пропали изображения, что и куда они делись? но это не суть важно, т.к обновить не составит труда, есть другая проблема , на сайте стала показываться такая вот ошибка :

    Код:
    Warning: array_rand() [function.array-rand]: Second argument has to be between 1 
    and the number of elements in the array in 
    /var/www/admin/data/www/sowlshop.ru/catalog/controller/module/featured.php on 
    line 22Warning: Invalid argument supplied for foreach() in 
    /var/www/admin/data/www/sowlshop.ru/catalog/controller/module/featured.php
     on line 23
    в чем может быть проблема, и как её исправить?
     
  2. Savok32

    Savok32

    Регистрация:
    18 дек 2012
    Сообщения:
    331
    Симпатии:
    51
    а ты отключи показ ошибок в админке)
    а картинке не отображаются, наверно потому что путь не правильно указал
     
  3. Greed95

    Greed95

    Регистрация:
    31 янв 2013
    Сообщения:
    74
    Симпатии:
    4
    а смысл? у меня модуль не работает
    но ведь некоторые отображаются, значит не в пути дело :/
     
  4. Savok32

    Savok32

    Регистрация:
    18 дек 2012
    Сообщения:
    331
    Симпатии:
    51
    какой модуль то? попробуйте удалить его, и заново установить
     
  5. nix

    nix php, MySQL, UNIX, MikroTik ROSAPI

    Регистрация:
    16 янв 2013
    Сообщения:
    1.000
    Симпатии:
    889
    catalog/controller/module/featured.php в студию
     
  6. Greed95

    Greed95

    Регистрация:
    31 янв 2013
    Сообщения:
    74
    Симпатии:
    4

    22 и 23 строка

    PHP:
    $product_keys array_rand($products,$setting['limit']);
    foreach (
    $product_keys as $product_key) {
    featured
     
  7. nix

    nix php, MySQL, UNIX, MikroTik ROSAPI

    Регистрация:
    16 янв 2013
    Сообщения:
    1.000
    Симпатии:
    889
    а ну тут много проблем может быть, наверное поможет такая проверка перед
    PHP:
    $product_keys array_rand($products$setting['limit']);
    вставить
    PHP:
    if(count($products) < $setting['limit']) {
        
    $setting['limit'] = 3;
    } else {
        
    $setting['limit'] = $setting['limit'];
    }
    если не канает в шаблоне модуля пишем так
    PHP:
    <?=$setting['limit']?>
    и результат сюда
     
  8. Greed95

    Greed95

    Регистрация:
    31 янв 2013
    Сообщения:
    74
    Симпатии:
    4
    после первого изменения

    после второго изменения

    Notice: Undefined variable: setting in/var/www/admin/data/www/sowlshop.ru/catalog/view/theme/pav_decor/template/module/featured.tplon line 58

    может быть не туда вписал ?

    PHP:
    <?=$setting['limit']?>
    куда именно нужно было?
     
  9. nix

    nix php, MySQL, UNIX, MikroTik ROSAPI

    Регистрация:
    16 янв 2013
    Сообщения:
    1.000
    Симпатии:
    889
    Предполагаю что там де ищет ети продукты нет ни одного, а они наверное где то в модуле выбираются...
    перед
    PHP:
     $product_keys array_rand($products$setting['limit']); 
    вставляем
    PHP:
     $this->data['deb'] = $products
    и в шаблоне catalog/view/theme/pav_decor/template/module/featured.tpl в любом месте
    ето
    PHP:
    <pre>
    <?php var_dump($deb?>
    </pre>
    результат выведенного сюда
    если ничего не покажет кроме ошибки, тогда нет товаров рекомендуемых
     
  10. Greed95

    Greed95

    Регистрация:
    31 янв 2013
    Сообщения:
    74
    Симпатии:
    4
    Теперь под этим модулем показывает только :

    и внизу ошибка :

     
  11. nix

    nix php, MySQL, UNIX, MikroTik ROSAPI

    Регистрация:
    16 янв 2013
    Сообщения:
    1.000
    Симпатии:
    889
    ну вот, что и требовалось доказать - нет рекомендованных товаров. в админ части модуля должны выбираться ети фютуред товары, выберите их и ошибка пропадет, если нет то покажите весь код модуля
     
  12. Greed95

    Greed95

    Регистрация:
    31 янв 2013
    Сообщения:
    74
    Симпатии:
    4
    Действительно, товаров не было, но теперь сверху ошибка :

    и там где место модуля :

    и еще ниже ошибка :


    featured.php
     
  13. nix

    nix php, MySQL, UNIX, MikroTik ROSAPI

    Регистрация:
    16 янв 2013
    Сообщения:
    1.000
    Симпатии:
    889
    PHP:
    <?php
    class ControllerModuleFeatured extends Controller {
        protected function 
    index($setting) {
            
    $this->language->load('module/featured');

            
    $this->data['heading_title'] = $this->language->get('heading_title');
        
            
    $this->data['button_cart'] = $this->language->get('button_cart');
        
            
    $this->load->model('catalog/product');
        
            
    $this->load->model('tool/image');

            
    $this->data['products'] = array();
            
    $products explode(','$this->config->get('featured_product'));

            if (empty(
    $setting['limit'])) {
               
    $setting['limit'] = 5;
            }

            
    $random_products = array();

            
    $product_keys array_rand($products,$setting['limit']);
            foreach (
    $product_keys as $product_key) {
               
    $random_products[$product_key] = $products[$product_key];
            }

            
    $products $random_products;
            
    shuffle($products);

            if(isset(
    $products) && is_array($products)) foreach ($products as $product_id) {
                
    $product_info $this->model_catalog_product->getProduct($product_id);
            
                if (
    $product_info) {
                    if (
    $product_info['image']) {
                        
    $image $this->model_tool_image->resize($product_info['image'], $setting['image_width'], $setting['image_height']);
                    } else {
                        
    $image false;
                    }

                    if ((
    $this->config->get('config_customer_price') && $this->customer->isLogged()) || !$this->config->get('config_customer_price')) {
                        
    $price $this->currency->format($this->tax->calculate($product_info['price'], $product_info['tax_class_id'], $this->config->get('config_tax')));
                    } else {
                        
    $price false;
                    }
                        
                    if ((float)
    $product_info['special']) {
                        
    $special $this->currency->format($this->tax->calculate($product_info['special'], $product_info['tax_class_id'], $this->config->get('config_tax')));
                    } else {
                        
    $special false;
                    }
                
                    if (
    $this->config->get('config_review_status')) {
                        
    $rating $product_info['rating'];
                    } else {
                        
    $rating false;
                    }
                    
                    
    $this->data['products'][] = array(
                        
    'product_id' => $product_info['product_id'],
                        
    'thumb'        => $image,
                        
    'name'         => $product_info['name'],
                        
    'price'        => $price,
                        
    'special'      => $special,
                        
    'rating'     => $rating,
                    
    'description'=> (html_entity_decode($product_info['description'], ENT_QUOTES'UTF-8')),
                        
    'reviews'    => sprintf($this->language->get('text_reviews'), (int)$product_info['reviews']),
                        
    'href'         => $this->url->link('product/product''product_id=' $product_info['product_id'])
                    );
                }
            }

            if (
    file_exists(DIR_TEMPLATE $this->config->get('config_template') . '/template/module/featured.tpl')) {
                
    $this->template $this->config->get('config_template') . '/template/module/featured.tpl';
            } else {
                
    $this->template 'default/template/module/featured.tpl';
            }

            
    $this->render();
        }
    }
    ?>
    и из шаблона уберите все что раньше писали catalog/view/theme/pav_decor/template/module/featured.tpl
     
    x-guest нравится это.
  14. Greed95

    Greed95

    Регистрация:
    31 янв 2013
    Сообщения:
    74
    Симпатии:
    4
    все сделал как сказали, все равно ошибка вверху :
    Warning: Invalid argument supplied for foreach() in /var/www/admin/data/www/sowlshop.ru/catalog/controller/module/featured.php on line 24
    сам сайт
     
  15. nix

    nix php, MySQL, UNIX, MikroTik ROSAPI

    Регистрация:
    16 янв 2013
    Сообщения:
    1.000
    Симпатии:
    889
    сомневаюсь что хостер в етом виновен, кривые модули или перенесли неправильно.
    как еще помочь не знаю, надо смотреть а не угадывать
     
  16. eric

    eric

    Регистрация:
    5 дек 2013
    Сообщения:
    59
    Симпатии:
    13
    У вас в настройках нового хостинга как типа домена стоит -- с www. и без? В config.php может быть несоответсвие после перезда.
     
  17. Greed95

    Greed95

    Регистрация:
    31 янв 2013
    Сообщения:
    74
    Симпатии:
    4
    решил проблему по другому, заменил featured.php из сборки, помню лишь то, что изменял только что бы товары выводились в разброс, и то это делалось на старом хостинге
    там все впорядке