Перейти до вмісту
Пошук в
  • Детальніше...
Шукати результати, які ...
Шукати результати в ...

Дополнительное поле загрузки изображений


Recommended Posts

Проблема такая, необходимо в категории создать поле для загрузки ещё одного изображения, чтобы создавать уникальные категории. 
Сделал все по аналогии с уже встроенный полем "Изображение категории", но после вывода в твиг файле {{ image-dop }}, вместо загруженной картинки выводит "0".
В чём может быть проблема?

Надіслати
Поділитися на інших сайтах


Значит не всё сделали. Проверьте ещё раз, что везде добавили функционал для сохранения и отображения (в моделях, контроллерах, шаблонах, поле в БД) на фронте и в админке. А так можно только гадать,что вы упустили.

Надіслати
Поділитися на інших сайтах


3 часа назад, ZeroHero сказал:

Значит не всё сделали. Проверьте ещё раз, что везде добавили функционал для сохранения и отображения (в моделях, контроллерах, шаблонах, поле в БД) на фронте и в админке. А так можно только гадать,что вы упустили.

Скорее всего где-то в моделях накосячил, потому что, в базу не пишется урл картинки.

Надіслати
Поділитися на інших сайтах


В 27.07.2020 в 16:02, ZeroHero сказал:

Значит не всё сделали. Проверьте ещё раз, что везде добавили функционал для сохранения и отображения (в моделях, контроллерах, шаблонах, поле в БД) на фронте и в админке. А так можно только гадать,что вы упустили.

Так не и получилось у меня. Поможете разобраться?

Надіслати
Поділитися на інших сайтах


Создал в базе столбец аналогичное столбцу image c название image_dop.
в admin/controller/catalog/category.php добавил
 

if (isset($this->request->post['image-dop'])) {
			$data['image-dop'] = $this->request->post['image-dop'];
		} elseif (!empty($category_info)) {
			$data['image-dop'] = $category_info['image-dop'];
		} else {
			$data['image-dop'] = '';
		}

в admin/model/catalog/category.php в функции addCategory($data) и ditCategory($category_id, $data)
 

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

admin/controller/view/template/catalog/category_form.twig

<div class="form-group">
                <label class="col-sm-2 control-label">Допольнительное изображение на категорию</label>
                <div class="col-sm-10"><a href="" id="thumb-image" data-toggle="image" class="img-thumbnail"><img src="{{ thumb1 }}" alt="" title="" data-placeholder="{{ placeholder }}" /></a>
                  <input type="hidden" name="image" value="{{ image-dop }}" id="input-image-dop" />
                </div>
                </div>

 

Надіслати
Поділитися на інших сайтах


20 минут назад, LiLu сказал:

Покажите, что делали

Вообщем делал все по аналогии, как сделано изображение в категории. Видимо есть что-то, что копипастой один в один не получиться.

Надіслати
Поділитися на інших сайтах


а где

if (isset($this->request->post['image-dop']) && is_file(DIR_IMAGE . $this->request->post['image-dop'])) {
	$data['thumb1'] = $this->model_tool_image->resize($this->request->post['image-dop'], 100, 100);
} elseif (!empty($category_info) && is_file(DIR_IMAGE . $category_info['image-dop'])) {
	$data['thumb1'] = $this->model_tool_image->resize($category_info['image-dop'], 100, 100);
} else {
	$data['thumb1'] = $this->model_tool_image->resize('no_image.png', 100, 100);
}

?

 

 

Надіслати
Поділитися на інших сайтах

30 минут назад, LiLu сказал:

а где


if (isset($this->request->post['image-dop']) && is_file(DIR_IMAGE . $this->request->post['image-dop'])) {
	$data['thumb1'] = $this->model_tool_image->resize($this->request->post['image-dop'], 100, 100);
} elseif (!empty($category_info) && is_file(DIR_IMAGE . $category_info['image-dop'])) {
	$data['thumb1'] = $this->model_tool_image->resize($category_info['image-dop'], 100, 100);
} else {
	$data['thumb1'] = $this->model_tool_image->resize('no_image.png', 100, 100);
}

?

 

 

Да, это тоже есть.

Надіслати
Поділитися на інших сайтах


тогда покажите модель (под спойлером)

и в шаблоне должно быть

<input type="hidden" name="image-dop" value="{{ image-dop }}" id="input-image-dop" />

и у ссылки должен быть id="thumb-image-dop"

Надіслати
Поділитися на інших сайтах

19 минут назад, LiLu сказал:

тогда покажите модель (под спойлером)

и в шаблоне должно быть


<input type="hidden" name="image-dop" value="{{ image-dop }}" id="input-image-dop" />

и у ссылки должен быть id="thumb-image-dop"

Спойлер

<?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($data['image']) . "' WHERE category_id = '" . (int)$category_id . "'");
        }
        if (isset($data['image-dop'])) {
            $this->db->query("UPDATE " . DB_PREFIX . "category SET image_dop = '" . $this->db->escape($data['image-dop']) . "' 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']) . "', description = '" . $this->db->escape($value['description']) . "', meta_title = '" . $this->db->escape($value['meta_title']) . "', meta_description = '" . $this->db->escape($value['meta_description']) . "', meta_keyword = '" . $this->db->escape($value['meta_keyword']) . "'");
        }

        // 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");

        foreach ($query->rows as $result) {
            $this->db->query("INSERT INTO `" . DB_PREFIX . "category_path` SET `category_id` = '" . (int)$category_id . "', `path_id` = '" . (int)$result['path_id'] . "', `level` = '" . (int)$level . "'");

            $level++;
        }

        $this->db->query("INSERT INTO `" . DB_PREFIX . "category_path` SET `category_id` = '" . (int)$category_id . "', `path_id` = '" . (int)$category_id . "', `level` = '" . (int)$level . "'");

        if (isset($data['category_filter'])) {
            foreach ($data['category_filter'] as $filter_id) {
                $this->db->query("INSERT INTO " . DB_PREFIX . "category_filter SET category_id = '" . (int)$category_id . "', filter_id = '" . (int)$filter_id . "'");
            }
        }

        if (isset($data['category_store'])) {
            foreach ($data['category_store'] as $store_id) {
                $this->db->query("INSERT INTO " . DB_PREFIX . "category_to_store SET category_id = '" . (int)$category_id . "', store_id = '" . (int)$store_id . "'");
            }
        }
        
        if (isset($data['category_seo_url'])) {
            foreach ($data['category_seo_url'] as $store_id => $language) {
                foreach ($language as $language_id => $keyword) {
                    if (!empty($keyword)) {
                        if($language_id == 'tit' || $language_id == 'ds' || $language_id == 'kw' ){
                             
                             $sql = "select * from ameta_by_store where doc_id='".(int)$category_id."' AND doc_type='categor' AND store_id='".$store_id."'";
                             $to = $this->db->query($sql);
                             if(isset($to->rows[0]['id'])){
                                 $sql = "update ameta_by_store SET 
                                         ".$language_id." = '".$this->db->escape($keyword)."' 
                                         where id = '".$to->rows[0]['id']."'; 
                                ";

                                $this->db->query($sql);
                             }else{
                            
                                $sql = "INSERT INTO ameta_by_store SET 
                                store_id='".$store_id."', 
                                doc_type='categor', 
                                doc_id='".(int)$category_id."', 
                                ".$language_id." = '".$this->db->escape($keyword)."' 
                                ";

                                $this->db->query($sql);
                             }
                            
                        }else{
            
                           $this->db->query("INSERT INTO " . DB_PREFIX . "seo_url SET store_id = '" . (int)$store_id . "', language_id = '" . (int)$language_id . "', query = 'category_id=" . (int)$category_id . "', keyword = '" . $this->db->escape($keyword) . "'");
                        }
                        
                    }
                }
            }
        }
        
        // Set which layout to use with this category
        if (isset($data['category_layout'])) {
            foreach ($data['category_layout'] as $store_id => $layout_id) {
                $this->db->query("INSERT INTO " . DB_PREFIX . "category_to_layout SET category_id = '" . (int)$category_id . "', store_id = '" . (int)$store_id . "', layout_id = '" . (int)$layout_id . "'");
            }
        }

        $this->cache->delete('category');

        return $category_id;
    }

    public function editCategory($category_id, $data) {
        $this->db->query("UPDATE " . 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() WHERE category_id = '" . (int)$category_id . "'");

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

        $this->db->query("DELETE FROM " . DB_PREFIX . "category_description 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']) . "', description = '" . $this->db->escape($value['description']) . "', meta_title = '" . $this->db->escape($value['meta_title']) . "', meta_description = '" . $this->db->escape($value['meta_description']) . "', meta_keyword = '" . $this->db->escape($value['meta_keyword']) . "'");
        }

        // MySQL Hierarchical Data Closure Table Pattern
        $query = $this->db->query("SELECT * FROM `" . DB_PREFIX . "category_path` WHERE path_id = '" . (int)$category_id . "' ORDER BY level ASC");

        if ($query->rows) {
            foreach ($query->rows as $category_path) {
                // Delete the path below the current one
                $this->db->query("DELETE FROM `" . DB_PREFIX . "category_path` WHERE category_id = '" . (int)$category_path['category_id'] . "' AND level < '" . (int)$category_path['level'] . "'");

                $path = array();

                // Get the nodes new parents
                $query = $this->db->query("SELECT * FROM `" . DB_PREFIX . "category_path` WHERE category_id = '" . (int)$data['parent_id'] . "' ORDER BY level ASC");

                foreach ($query->rows as $result) {
                    $path[] = $result['path_id'];
                }

                // Get whats left of the nodes current path
                $query = $this->db->query("SELECT * FROM `" . DB_PREFIX . "category_path` WHERE category_id = '" . (int)$category_path['category_id'] . "' ORDER BY level ASC");

                foreach ($query->rows as $result) {
                    $path[] = $result['path_id'];
                }

                // Combine the paths with a new level
                $level = 0;

                foreach ($path as $path_id) {
                    $this->db->query("REPLACE INTO `" . DB_PREFIX . "category_path` SET category_id = '" . (int)$category_path['category_id'] . "', `path_id` = '" . (int)$path_id . "', level = '" . (int)$level . "'");

                    $level++;
                }
            }
        } else {
            // Delete the path below the current one
            $this->db->query("DELETE FROM `" . DB_PREFIX . "category_path` WHERE category_id = '" . (int)$category_id . "'");

            // Fix for records with no paths
            $level = 0;

            $query = $this->db->query("SELECT * FROM `" . DB_PREFIX . "category_path` WHERE category_id = '" . (int)$data['parent_id'] . "' ORDER BY level ASC");

            foreach ($query->rows as $result) {
                $this->db->query("INSERT INTO `" . DB_PREFIX . "category_path` SET category_id = '" . (int)$category_id . "', `path_id` = '" . (int)$result['path_id'] . "', level = '" . (int)$level . "'");

                $level++;
            }

            $this->db->query("REPLACE INTO `" . DB_PREFIX . "category_path` SET category_id = '" . (int)$category_id . "', `path_id` = '" . (int)$category_id . "', level = '" . (int)$level . "'");
        }

        $this->db->query("DELETE FROM " . DB_PREFIX . "category_filter WHERE category_id = '" . (int)$category_id . "'");

        if (isset($data['category_filter'])) {
            foreach ($data['category_filter'] as $filter_id) {
                $this->db->query("INSERT INTO " . DB_PREFIX . "category_filter SET category_id = '" . (int)$category_id . "', filter_id = '" . (int)$filter_id . "'");
            }
        }

        $this->db->query("DELETE FROM " . DB_PREFIX . "category_to_store WHERE category_id = '" . (int)$category_id . "'");

        if (isset($data['category_store'])) {
            foreach ($data['category_store'] as $store_id) {
                $this->db->query("INSERT INTO " . DB_PREFIX . "category_to_store SET category_id = '" . (int)$category_id . "', store_id = '" . (int)$store_id . "'");
            }
        }

        // SEO URL
        $this->db->query("DELETE FROM `" . DB_PREFIX . "seo_url` WHERE query = 'category_id=" . (int)$category_id . "'");
        /*file_put_contents($_SERVER['DOCUMENT_ROOT']."/admin/1.txt", "Tit0- ".print_r($data, true)."\r\n", FILE_APPEND);*/
        if(isset($data['category_seo_description'])){
             if(is_array($data['category_seo_description'])){
                  if(count($data['category_seo_description'])>0){
                       foreach($data['category_seo_description'] as $key=>$val){
                            $sql = "select * from ameta_by_store where doc_id='".(int)$category_id."' AND doc_type='seo_text_cat' AND store_id='".$key."'";
                            $to = $this->db->query($sql);
                            $fl_insert = 0;
                            if(isset($to->rows[0]['id'])){
                                 $fl_insert = 1;
                            }
                            if($fl_insert === 1){
                                 $sql = "update ameta_by_store SET 
                                         seo_text = '".$this->db->escape( trim($val['seo_text']) )."' 
                                         where id = '".$to->rows[0]['id']."'; 
                                ";
                                $this->db->query($sql);
                            }else{
                                $sql = "INSERT INTO ameta_by_store SET 
                                store_id='".$key."', 
                                doc_type='seo_text_cat', 
                                doc_id='".(int)$category_id."', 
                                seo_text = '".$this->db->escape( trim($val['seo_text']) )."' 
                                ";
                                /*file_put_contents($_SERVER['DOCUMENT_ROOT']."/admin/1.txt", "SQL- ".$sql."\r\n", FILE_APPEND);*/
                                $this->db->query($sql);
                            }
                       }
                  }
             }
        }
        if (isset($data['category_seo_url'])) {
            /*file_put_contents($_SERVER['DOCUMENT_ROOT']."/admin/1.txt", print_r($data['category_seo_url'], true)."\r\n", FILE_APPEND);*/
            
            foreach ($data['category_seo_url'] as $store_id => $language) {
                /*file_put_contents($_SERVER['DOCUMENT_ROOT']."/admin/1.txt", print_r($language, true)."\r\n", FILE_APPEND);*/
                foreach ($language as $language_id => $keyword) {
                    if (!empty($keyword)) {
                        if($language_id == 'tit' || $language_id == 'ds' || $language_id == 'kw' ){
                            /*file_put_contents($_SERVER['DOCUMENT_ROOT']."/admin/1.txt", "Tit2- ".print_r($language_id, true)." KW2- ".print_r($keyword, true)."\r\n", FILE_APPEND);*/
                             
                             $sql = "select * from ameta_by_store where doc_id='".(int)$category_id."' AND doc_type='categor' AND store_id='".$store_id."'";
                             $to = $this->db->query($sql);
                             if(isset($to->rows[0]['id'])){
                                 $sql = "update ameta_by_store SET 
                                         ".$language_id." = '".$this->db->escape($keyword)."' 
                                         where id = '".$to->rows[0]['id']."'; 
                                ";
                                /*file_put_contents($_SERVER['DOCUMENT_ROOT']."/admin/1.txt", "SQL- ".$sql."\r\n", FILE_APPEND);*/
                                $this->db->query($sql);
                             }else{
                            
                                $sql = "INSERT INTO ameta_by_store SET 
                                store_id='".$store_id."', 
                                doc_type='categor', 
                                doc_id='".(int)$category_id."', 
                                ".$language_id." = '".$this->db->escape($keyword)."' 
                                ";
                                /*file_put_contents($_SERVER['DOCUMENT_ROOT']."/admin/1.txt", "SQL- ".$sql."\r\n", FILE_APPEND);*/
                                $this->db->query($sql);
                             }
                            
                        }else{
                           /*file_put_contents($_SERVER['DOCUMENT_ROOT']."/admin/1.txt", print_r("INSERT INTO " . DB_PREFIX . "seo_url SET store_id = '" . (int)$store_id . "', language_id = '" . (int)$language_id . "', query = 'category_id=" . (int)$category_id . "', keyword = '" . $this->db->escape($keyword) . "'", true)."\r\n", FILE_APPEND);*/
                           $this->db->query("INSERT INTO " . DB_PREFIX . "seo_url SET store_id = '" . (int)$store_id . "', language_id = '" . (int)$language_id . "', query = 'category_id=" . (int)$category_id . "', keyword = '" . $this->db->escape($keyword) . "'");
                        }
                    }
                }
            }
        }
        
        $this->db->query("DELETE FROM " . DB_PREFIX . "category_to_layout WHERE category_id = '" . (int)$category_id . "'");

        if (isset($data['category_layout'])) {
            foreach ($data['category_layout'] as $store_id => $layout_id) {
                $this->db->query("INSERT INTO " . DB_PREFIX . "category_to_layout SET category_id = '" . (int)$category_id . "', store_id = '" . (int)$store_id . "', layout_id = '" . (int)$layout_id . "'");
            }
        }

        $this->cache->delete('category');
    }

    public function deleteCategory($category_id) {
        $this->db->query("DELETE FROM " . DB_PREFIX . "category_path WHERE category_id = '" . (int)$category_id . "'");

        $query = $this->db->query("SELECT * FROM " . DB_PREFIX . "category_path WHERE path_id = '" . (int)$category_id . "'");

        foreach ($query->rows as $result) {
            $this->deleteCategory($result['category_id']);
        }

        $this->db->query("DELETE FROM " . DB_PREFIX . "category WHERE category_id = '" . (int)$category_id . "'");
        $this->db->query("DELETE FROM " . DB_PREFIX . "category_description WHERE category_id = '" . (int)$category_id . "'");
        $this->db->query("DELETE FROM " . DB_PREFIX . "category_filter WHERE category_id = '" . (int)$category_id . "'");
        $this->db->query("DELETE FROM " . DB_PREFIX . "category_to_store WHERE category_id = '" . (int)$category_id . "'");
        $this->db->query("DELETE FROM " . DB_PREFIX . "category_to_layout WHERE category_id = '" . (int)$category_id . "'");
        $this->db->query("DELETE FROM " . DB_PREFIX . "product_to_category WHERE category_id = '" . (int)$category_id . "'");
        $this->db->query("DELETE FROM " . DB_PREFIX . "seo_url WHERE query = 'category_id=" . (int)$category_id . "'");
        $this->db->query("DELETE FROM " . DB_PREFIX . "coupon_category WHERE category_id = '" . (int)$category_id . "'");

        $this->cache->delete('category');
    }

    public function repairCategories($parent_id = 0) {
        $query = $this->db->query("SELECT * FROM " . DB_PREFIX . "category WHERE parent_id = '" . (int)$parent_id . "'");

        foreach ($query->rows as $category) {
            // Delete the path below the current one
            $this->db->query("DELETE FROM `" . DB_PREFIX . "category_path` WHERE category_id = '" . (int)$category['category_id'] . "'");

            // Fix for records with no paths
            $level = 0;

            $query = $this->db->query("SELECT * FROM `" . DB_PREFIX . "category_path` WHERE category_id = '" . (int)$parent_id . "' ORDER BY level ASC");

            foreach ($query->rows as $result) {
                $this->db->query("INSERT INTO `" . DB_PREFIX . "category_path` SET category_id = '" . (int)$category['category_id'] . "', `path_id` = '" . (int)$result['path_id'] . "', level = '" . (int)$level . "'");

                $level++;
            }

            $this->db->query("REPLACE INTO `" . DB_PREFIX . "category_path` SET category_id = '" . (int)$category['category_id'] . "', `path_id` = '" . (int)$category['category_id'] . "', level = '" . (int)$level . "'");

            $this->repairCategories($category['category_id']);
        }
    }

    public function getCategory($category_id) {
        $query = $this->db->query("SELECT DISTINCT *, (SELECT GROUP_CONCAT(cd1.name ORDER BY level SEPARATOR '&nbsp;&nbsp;&gt;&nbsp;&nbsp;') FROM " . DB_PREFIX . "category_path cp LEFT JOIN " . DB_PREFIX . "category_description cd1 ON (cp.path_id = cd1.category_id AND cp.category_id != cp.path_id) WHERE cp.category_id = c.category_id AND cd1.language_id = '" . (int)$this->config->get('config_language_id') . "' GROUP BY cp.category_id) AS path FROM " . DB_PREFIX . "category c LEFT JOIN " . DB_PREFIX . "category_description cd2 ON (c.category_id = cd2.category_id) WHERE c.category_id = '" . (int)$category_id . "' AND cd2.language_id = '" . (int)$this->config->get('config_language_id') . "'");
        
        return $query->row;
    }

    public function getCategories($data = array()) {
        $sql = "SELECT cp.category_id AS category_id, GROUP_CONCAT(cd1.name ORDER BY cp.level SEPARATOR '&nbsp;&nbsp;&gt;&nbsp;&nbsp;') AS name, c1.parent_id, c1.sort_order FROM " . DB_PREFIX . "category_path cp LEFT JOIN " . DB_PREFIX . "category c1 ON (cp.category_id = c1.category_id) LEFT JOIN " . DB_PREFIX . "category c2 ON (cp.path_id = c2.category_id) LEFT JOIN " . DB_PREFIX . "category_description cd1 ON (cp.path_id = cd1.category_id) LEFT JOIN " . DB_PREFIX . "category_description cd2 ON (cp.category_id = cd2.category_id) WHERE cd1.language_id = '" . (int)$this->config->get('config_language_id') . "' AND cd2.language_id = '" . (int)$this->config->get('config_language_id') . "'";

        if (!empty($data['filter_name'])) {
            $sql .= " AND cd2.name LIKE '%" . $this->db->escape($data['filter_name']) . "%'";
        }

        $sql .= " GROUP BY cp.category_id";

        $sort_data = array(
            'name',
            'sort_order'
        );

        if (isset($data['sort']) && in_array($data['sort'], $sort_data)) {
            $sql .= " ORDER BY " . $data['sort'];
        } else {
            $sql .= " ORDER BY sort_order";
        }

        if (isset($data['order']) && ($data['order'] == 'DESC')) {
            $sql .= " DESC";
        } else {
            $sql .= " ASC";
        }

        if (isset($data['start']) || isset($data['limit'])) {
            if ($data['start'] < 0) {
                $data['start'] = 0;
            }

            if ($data['limit'] < 1) {
                $data['limit'] = 20;
            }

            $sql .= " LIMIT " . (int)$data['start'] . "," . (int)$data['limit'];
        }

        $query = $this->db->query($sql);

        return $query->rows;
    }

    public function getCategoryDescriptions($category_id) {
        $category_description_data = array();

        $query = $this->db->query("SELECT * FROM " . DB_PREFIX . "category_description WHERE category_id = '" . (int)$category_id . "'");

        foreach ($query->rows as $result) {
            $category_description_data[$result['language_id']] = array(
                'name'             => $result['name'],
                'meta_title'       => $result['meta_title'],
                'meta_description' => $result['meta_description'],
                'meta_keyword'     => $result['meta_keyword'],
                'description'      => $result['description']
            );
        }

        return $category_description_data;
    }
    
    public function getCategoryPath($category_id) {
        $query = $this->db->query("SELECT category_id, path_id, level FROM " . DB_PREFIX . "category_path WHERE category_id = '" . (int)$category_id . "'");

        return $query->rows;
    }
    
    public function getCategoryFilters($category_id) {
        $category_filter_data = array();

        $query = $this->db->query("SELECT * FROM " . DB_PREFIX . "category_filter WHERE category_id = '" . (int)$category_id . "'");

        foreach ($query->rows as $result) {
            $category_filter_data[] = $result['filter_id'];
        }

        return $category_filter_data;
    }

    public function getCategoryStores($category_id) {
        $category_store_data = array();

        $query = $this->db->query("SELECT * FROM " . DB_PREFIX . "category_to_store WHERE category_id = '" . (int)$category_id . "'");

        foreach ($query->rows as $result) {
            $category_store_data[] = $result['store_id'];
        }

        return $category_store_data;
    }
    
    public function getCategorySeoUrls($category_id) {
        $category_seo_url_data = array();
        
        $query = $this->db->query("SELECT * FROM " . DB_PREFIX . "seo_url WHERE query = 'category_id=" . (int)$category_id . "'");

        foreach ($query->rows as $result) {
            $category_seo_url_data[$result['store_id']][$result['language_id']] = $result['keyword'];
              $tit = "";
              $ds = "";
              $kw = "";
              $sql = "SELECT * FROM ameta_by_store WHERE store_id ='".$result['store_id']."' and doc_type = 'categor' and doc_id='".(int)$category_id."'"; 
              $meta = $this->db->query($sql);
              if(isset($meta->rows[0]['tit'])){
                  if(strlen(trim($meta->rows[0]['tit']))>0){
                      $tit = trim($meta->rows[0]['tit']);
                  }
                   
              }
              if(isset($meta->rows[0]['ds'])){
                  if(strlen(trim($meta->rows[0]['ds']))>0){
                      $ds = trim($meta->rows[0]['ds']);
                  }
                   
              }
              if(isset($meta->rows[0]['kw'])){
                  if(strlen(trim($meta->rows[0]['kw']))>0){
                      $kw = trim($meta->rows[0]['kw']);
                  }
                   
              }
              $category_seo_url_data[$result['store_id']]['tit'] = $tit;
              $category_seo_url_data[$result['store_id']]['ds'] = $ds;
              $category_seo_url_data[$result['store_id']]['kw'] = $kw;
                
        }
               /*file_put_contents($_SERVER['DOCUMENT_ROOT']."/admin/1.txt", "Tit2- ".print_r($language_id, true)." KW2- ".print_r($keyword, true)."\r\n", FILE_APPEND);*/
               /*print_r($category_seo_url_data);*/
        return $category_seo_url_data;
    }
    
    public function getCategoryLayouts($category_id) {
        $category_layout_data = array();

        $query = $this->db->query("SELECT * FROM " . DB_PREFIX . "category_to_layout WHERE category_id = '" . (int)$category_id . "'");

        foreach ($query->rows as $result) {
            $category_layout_data[$result['store_id']] = $result['layout_id'];
        }

        return $category_layout_data;
    }

    public function getTotalCategories() {
        $query = $this->db->query("SELECT COUNT(*) AS total FROM " . DB_PREFIX . "category");

        return $query->row['total'];
    }
    
    public function getTotalCategoriesByLayoutId($layout_id) {
        $query = $this->db->query("SELECT COUNT(*) AS total FROM " . DB_PREFIX . "category_to_layout WHERE layout_id = '" . (int)$layout_id . "'");

        return $query->row['total'];
    }    
}

 

Надіслати
Поділитися на інших сайтах


  • 3 years later...

Кто разобрался с этой доработкой. Тоже появилась необходимость сделать ещё одно фото, только в товаре. Все вроде работает, но вместо загруженной картинки выводит "0". Не пойму в чём причина. Всё перепроверил.

Надіслати
Поділитися на інших сайтах


Створіть аккаунт або увійдіть для коментування

Ви повинні бути користувачем, щоб залишити коментар

Створити обліковий запис

Зареєструйтеся для отримання облікового запису. Це просто!

Зареєструвати аккаунт

Вхід

Уже зареєстровані? Увійдіть тут.

Вхід зараз

×
×
  • Створити...

Important Information

На нашому сайті використовуються файли cookie і відбувається обробка деяких персональних даних користувачів, щоб поліпшити користувальницький інтерфейс. Щоб дізнатися для чого і які персональні дані ми обробляємо перейдіть за посиланням . Якщо Ви натиснете «Я даю згоду», це означає, що Ви розумієте і приймаєте всі умови, зазначені в цьому Повідомленні про конфіденційність.