[Помогите] Undefined index: seo_title & seo_h1

Тема в разделе "OpenCart", создана пользователем dark_forces, 29 мар 2013.

  1. dark_forces

    dark_forces

    Регистрация:
    13 ноя 2012
    Сообщения:
    8
    Симпатии:
    0
    Код:
    Notice: Undefined index: seo_title in /admin/model/catalog/product.php on line 13
    Notice: Undefined index: seo_h1 in /admin/model/catalog/product.php on line 13
    
    при импорте товара через total import pro выдаёт такую ошибку
     
  2. apple-boom

    apple-boom

    Регистрация:
    21 ноя 2012
    Сообщения:
    152
    Симпатии:
    297
    У вас ocstore установлен?
     
  3. Florenco

    Florenco

    Регистрация:
    3 мар 2013
    Сообщения:
    220
    Симпатии:
    102
    Это вроде бы модуль для OpenCart, в нём нет этих строк, и в модуле соответственно тоже, их нужно в него добавлять.
     
  4. ingenerks

    ingenerks

    Регистрация:
    25 окт 2012
    Сообщения:
    250
    Симпатии:
    73
    Так а товары импортируются или нет?
     
  5. dark_forces

    dark_forces

    Регистрация:
    13 ноя 2012
    Сообщения:
    8
    Симпатии:
    0
    товары импортируются, установлена русская сборка osstore 1.5.4.1
    какие строчки необходимо добавить и в какой файл мода? хотя бы приблизительно
     
  6. Florenco

    Florenco

    Регистрация:
    3 мар 2013
    Сообщения:
    220
    Симпатии:
    102
    По этому модулю не подскажу, но это не пару строк. На русском форуме есть рабочий импорт/экспорт под эту версию, лучше уж её поставить и не мучиться.
    А ошибки эти, скорее из-за того, что вы этим модулем при импорте потёрли указанные строки в таблице product_description
    Если же сильно хочется с этим модом подружить магазин, то нужно на примере "meta_keyword" добавлять такие же строки ниже во все файлы модуля, меняя названия на вышеуказанные в ошибках.
     
    dark_forces нравится это.
  7. mik_mihka

    mik_mihka

    Регистрация:
    11 янв 2017
    Сообщения:
    5
    Симпатии:
    0
    Здравствуйте, прошу помощи в решении проблемы:
    PHP Notice: Undefined index: seo_title in /<адрес сайта>/http/vqmod/vqcache/vq2-admin_model_catalog_category.php on line 13

    в данном файле, в 13 строке:
    $this->db->query("INSERT INTO " . DB_PREFIX . "category_description SET category_id = '" . (int)$category_id . "', language_id = '" . (int)$language_id . "', name = '" . $this->db->escape($value['name']) . "', meta_keyword = '" . $this->db->escape($value['meta_keyword']) . "', meta_description = '" . $this->db->escape($value['meta_description']) . "', description = '" . $this->db->escape($value['description']) . "', description_bottom = '" . $this->db->escape($value['description_bottom']) . "', seo_title = '" . $this->db->escape($value['seo_title']) . "', seo_h1 = '" . $this->db->escape($value['seo_h1']) . "'");

    Стоит у меня OCSGOP 1.5.6.4 и exchange1c , при этом товары, категории,изображения - грузятся. Не грузится цена. И заказы выгружаются.
    описанное в этой теме - проверил, у меня все записи присутствуют. - http://wmasteru.org/threads/Ошибка-seo_h1-seo_title.3302/
     
  8. Dotrox

    Dotrox Команда форума

    Регистрация:
    27 ноя 2012
    Сообщения:
    3.198
    Симпатии:
    1.306
    Они у вас в модуле exchange1c не присутствуют.
     
  9. mik_mihka

    mik_mihka

    Регистрация:
    11 янв 2017
    Сообщения:
    5
    Симпатии:
    0
    в exchange1c :
    PHP:
     $result['category_description'] = array(
               
    $language_id => array(
                    
    'name'             => (string)$category->Наименование
                   
    ,'meta_keyword'     => (isset($data['category_description'][$language_id]['meta_keyword'])) ? $data['category_description'][$language_id]['meta_keyword'] : ''
                     
    ,'meta_description'   => (isset($data['category_description'][$language_id]['meta_description'])) ? $data['category_description'][$language_id]['meta_description'] : ''
                   
    ,'description'         => (isset($category->Описание)) ? (string)$category->Описание : ((isset($data['category_description'][$language_id]['description'])) ? $data['category_description'][$language_id]['description'] : '')
                    
    //доработка  для OCSHOP
                    
    ,'description_bottom'         => (isset($category->Описание)) ? (string)$category->Описание : ((isset($data['category_description'][$language_id]['description_bottom'])) ? $data['category_description'][$language_id]['description_bottom'] : '')
                    
    //конец доработки
                   
    ,'seo_title '        => (isset($data['category_description'][$language_id]['seo_title'])) ? $data['category_description'][$language_id]['seo_title'] : ''
                   
    ,'seo_h1'           => (isset($data['category_description'][$language_id]['seo_h1'])) ? $data['category_description'][$language_id]['seo_h1'] : ''
               
    ),
           );

           return 
    $result;
    в массив добавлено было... но...
     
    Lasted edited by : 19 янв 2017
  10. Dotrox

    Dotrox Команда форума

    Регистрация:
    27 ноя 2012
    Сообщения:
    3.198
    Симпатии:
    1.306
    Это что-то не то (вероятно, это выгрузка из магазина в 1С, а у вас ошибка при выгрузке из 1С). Найдите, где у вас в этом модуле используется model_catalog_category и посмотрите, что передаётся при вызове метода из неё.
     
  11. mik_mihka

    mik_mihka

    Регистрация:
    11 янв 2017
    Сообщения:
    5
    Симпатии:
    0
    PHP:
    private function insertCategory($xml$parent 0$language_id) {

            
    $this->load->model('catalog/category');

            foreach (
    $xml as $category){

                if (isset(
    $category->Ид) && isset($category->Наименование) ){
                    
    $id =  (string)$category->Ид;

                    
    $data = array();

                    
    $query $this->db->query('SELECT * FROM `' DB_PREFIX 'category_to_1c` WHERE `1c_category_id` = "' $this->db->escape($id) . '"');

                    if (
    $query->num_rows) {
                        
    $category_id = (int)$query->row['category_id'];
                        
    $data $this->model_catalog_category->getCategory($category_id);
                        
    $data['category_description'] = $this->model_catalog_category->getCategoryDescriptions($category_id);
                        
    $data $this->initCategory($category$parent$data$language_id);
                        
    $this->model_catalog_category->editCategory($category_id$data);
                    }
                    else {
                        
    $data $this->initCategory($category$parent, array(), $language_id);
                        
    $category_id $this->model_catalog_category->addCategory($data);
                        
    $this->db->query('INSERT INTO `' DB_PREFIX 'category_to_1c` SET category_id = ' . (int)$category_id ', `1c_category_id` = "' $this->db->escape($id) . '"');
                    }

                    
    $this->CATEGORIES[$id] = $category_id;
                }

                if (
    $category->Группы$this->insertCategory($category->Группы->Группа$category_id$language_id);
            }

            unset(
    $xml);
        }

    Нашел, а куда добавлять?
     
    Lasted edited by : 16 янв 2017
  12. Dotrox

    Dotrox Команда форума

    Регистрация:
    27 ноя 2012
    Сообщения:
    3.198
    Симпатии:
    1.306
    Данные у вас формируются здесь:
    PHP:
    $data $this->initCategory($category$parent, array(), $language_id);
    Так что ищите в том же файле метод initCategory.
     
  13. mik_mihka

    mik_mihka

    Регистрация:
    11 янв 2017
    Сообщения:
    5
    Симпатии:
    0
    В ней тоже присутствуют все значения...

    PHP:
    private function initCategory($category$parent$data = array(), $language_id) {

            
    $result = array(
                
    'status'         => isset($data['status']) ? $data['status'] : 1
                
    ,'top'            => isset($data['top']) ? $data['top'] : 1
                
    ,'parent_id'      => $parent
                
    ,'category_store' => isset($data['category_store']) ? $data['category_store'] : array(0)
                ,
    'keyword'        => isset($data['keyword']) ? $data['keyword'] : ''
                
    ,'image'          => (isset($category->Картинка)) ? (string)$category->Картинка : ((isset($data['image'])) ? $data['image'] : '')
                ,
    'sort_order'     => (isset($category->Сортировка)) ? (int)$category->Сортировка : ((isset($data['sort_order'])) ? $data['sort_order'] : 0)
                ,
    'column'         => 1
            
    );

            
    $result['category_description'] = array(
                
    $language_id => array(
                    
    'name'             => (string)$category->Наименование
                    
    ,'meta_keyword'     => (isset($data['category_description'][$language_id]['meta_keyword'])) ? $data['category_description'][$language_id]['meta_keyword'] : ''
                    
    ,'meta_description'    => (isset($data['category_description'][$language_id]['meta_description'])) ? $data['category_description'][$language_id]['meta_description'] : ''
                    
    ,'description'         => (isset($category->Описание)) ? (string)$category->Описание : ((isset($data['category_description'][$language_id]['description'])) ? $data['category_description'][$language_id]['description'] : '')
                    ,
    'description_button'         => (isset($category->Описание)) ? (string)$category->Описание : ((isset($data['category_description'][$language_id]['description_button'])) ? $data['category_description'][$language_id]['description_button'] : '')
                    ,
    'seo_title'        => (isset($data['category_description'][$language_id]['seo_title'])) ? $data['category_description'][$language_id]['seo_title'] : ''
                    
    ,'seo_h1'           => (isset($data['category_description'][$language_id]['seo_h1'])) ? $data['category_description'][$language_id]['seo_h1'] : ''
                
    ),
            );

            return 
    $result;
        }
     
    Lasted edited by : 17 янв 2017
  14. Dotrox

    Dotrox Команда форума

    Регистрация:
    27 ноя 2012
    Сообщения:
    3.198
    Симпатии:
    1.306
    Теперь покажите model_catalog_category.php (первые строк 20).
     
  15. mik_mihka

    mik_mihka

    Регистрация:
    11 янв 2017
    Сообщения:
    5
    Симпатии:
    0
    Есть только файл - vq2-admin_model_catalog_category.php

    его первые 20 строк:
    PHP:
    <?php
    class ModelCatalogCategory extends Model {
        public function 
    addCategory($data) {
            
    $this->db->query("INSERT INTO " DB_PREFIX "category SET parent_id = '" . (int)$data['parent_id'] . "', `top` = '" . (isset($data['top']) ? (int)$data['top'] : 0) . "', `column` = '" . (int)$data['column'] . "', sort_order = '" . (int)$data['sort_order'] . "', status = '" . (int)$data['status'] . "', date_modified = NOW(), date_added = NOW()");

            
    $category_id $this->db->getLastId();

            if (isset(
    $data['image'])) {
                
    $this->db->query("UPDATE " DB_PREFIX "category SET image = '" $this->db->escape(html_entity_decode($data['image'], ENT_QUOTES'UTF-8')) . "' WHERE category_id = '" . (int)$category_id "'");
            }

            foreach (
    $data['category_description'] as $language_id => $value) {
                
    $this->db->query("INSERT INTO " DB_PREFIX "category_description SET category_id = '" . (int)$category_id "', language_id = '" . (int)$language_id "', name = '" $this->db->escape($value['name']) . "', meta_keyword = '" $this->db->escape($value['meta_keyword']) . "', meta_description = '" $this->db->escape($value['meta_description']) . "', description = '" $this->db->escape($value['description']) . "', description_bottom = '" $this->db->escape($value['description_bottom']) . "', seo_title = '" $this->db->escape($value['seo_title']) . "', seo_h1 = '" $this->db->escape($value['seo_h1']) . "'");
            }

            
    // MySQL Hierarchical Data Closure Table Pattern
            
    $level 0;

            
    $query $this->db->query("SELECT * FROM `" DB_PREFIX "category_path` WHERE category_id = '" . (int)$data['parent_id'] . "' ORDER BY `level` ASC");
     
    Lasted edited by : 19 янв 2017
  16. Dotrox

    Dotrox Команда форума

    Регистрация:
    27 ноя 2012
    Сообщения:
    3.198
    Симпатии:
    1.306
    vq2-admin_model_catalog_category.php - это /admin/model/catalog/category.php, о нём я и спрашивал. Но уже без разницы, я не вижу проблем тут. В общем, надо дебажить.

    И научитесь уже наконец пользоваться кнопкой вставки кода в редакторе, мне надоела редактировать каждый ваш пост, чтоб код стал читабельным.