kate1987

[Решено] Иконки для категорий

Рекомендуемые сообщения

kate1987    36

Здравствуйте. Хочу кроме изображения категории добавить еще и иконку для категории (скрин http://joxi.ru/L21JRR5UDa8ZAX) Для этого в таблице category содала новое поле

  icon varchar(255) utf8_general_ci   Да NULL

Потом в админке в контроллере категории добавила

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

строка 318 и

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

строка 337

 

в файле category.tpl

  <tr>
              <td>Иконка</td>
              <td valign="top"><div class="icon"><img src="<?php echo $thumb1; ?>" alt="" id="thumb1" />
                  <input type="hidden" name="icon" value="<?php echo $icon; ?>" id="icon" />
                  <br />
                  <a onclick="image_upload('icon', 'thumb1');"><?php echo $text_browse; ?></a>  |  <a onclick="$('#thumb1').attr('src', '<?php echo $no_image; ?>'); $('#icon').attr('value', '');"><?php echo $text_clear; ?></a></div></td>
            </tr>

Но иконка не сохраняется. Прошу подсказать где я ошиблась.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
shoputils    230

А в модель запись/считывание нового поля (как минимум в 3-х местах) кто будет добавлять?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
kate1987    36

Верно постоянно модель забываю, спасибо

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
kate1987    36

В итоге еще и в модели нужно добавить в строке 11

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

строка 69

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

В двух местах как оказалось)

 

И все работает

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
kate1987    36

Теперь не могу добавить в файл вывода( в модуле category_wall

 

в блок

$this->data['categories'][] = array(

после

'thumb' => $this->model_tool_image->resize($result['image'], $setting['image_width'], $setting['image_height']),

добавила


	'thumb1' => $this->model_tool_image->resize($result['icon'], 40, 40),

не выодится и ругается на переменную Icon Notice: Undefined index: icon

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
kate1987    36

Я просто путь неправильно прописала,в этом была ошибка

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
acer    4

Я просто путь неправильно прописала,в этом была ошибка

Напишите полное решение в одном сообщении, пожал, с примером как получилось, а то по имеющемуся скрину непонятно что это и где

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Для публикации сообщений создайте учётную запись или авторизуйтесь

Вы должны быть пользователем, чтобы оставить комментарий

Создать учетную запись

Зарегистрируйте новую учётную запись в нашем сообществе. Это очень просто!

Регистрация нового пользователя

Войти

Уже есть аккаунт? Войти в систему.

Войти


  • Последние посетители   0 пользователей онлайн

    Ни одного зарегистрированного пользователя не просматривает данную страницу