Перейти к содержимому


Фото
- - - - -

Основное изображение категории

изображение категории категории картинки

  • Чтобы отвечать, сперва войдите на форум
13 ответов в теме

#1 Suprun4uk

Suprun4uk
  • Пользователь
  • 201 сообщений

Опубликовано 09.03.2016 - 11:16

Приветствую, хочу сделать основное изображение категрии, т.е что бы тот модуль вывода что уже есть выводить как изображение в меню, а вновь созданное выводить как обложку для блока ( который в будущем создам ) 

подскажите какие файлы потребуется править ? 

создать запрос в БД 

 

ALTER TABLE `s_blog` ADD `image` VARCHAR( 255 ) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL AFTER `name`

далее файл.,

..\admin\CategoryAdmin.php

 

// Удаление изображения
if($this->request->post('delete_image'))
{
	$this->categories->delete_image($category->id);
}
// Загрузка изображения
$image = $this->request->files('image');
if(!empty($image['name']) && in_array(strtolower(pathinfo($image['name'], PATHINFO_EXTENSION)), $this->allowed_image_extentions))
{
	$this->categories->delete_image($category->id);
	move_uploaded_file($image['tmp_name'], $this->root_dir.$this->config->categories_images_dir.$image['name']);
	$this->categories->update_category($category->id, array('image'=>$image['name']));
}

следом.,

 

\admin\design\html\category.tpl

 

<div class="block layer images">
  <h2>Изображение категории</h2>
  <input class='upload_image' name=image_block type=file>     
  <input type=hidden name="delete_image" value="">
  {if $category->image}
  <ul>
    <li>
      <a href='#' class="delete"><img src='design/images/cross-circle-frame.png'></a>
      <img src="../{$config->categories_images_dir}{$category->image}" alt="" />
    </li>
  </ul>
  {/if}
</div>

 

на этом все ? или что то еще нужно править ? спасибо.

 



#2 Kors

Kors
  • Фрилансер
  • 3 522 сообщений
  • Программирование
  • Версия CMS:1.x, 2.x
  • Откуда:Россия

Опубликовано 09.03.2016 - 12:35

По-моему, Вы явно что-то путаете, потому что:

1. "хочу сделать основное изображение категрии"

2. "ALTER TABLE `s_blog` ..."

 

И Ваша техническая реализация явно неверная, так как "image_block" встречается только один раз в шаблоне и больше нигде не используется...



#3 Suprun4uk

Suprun4uk
  • Пользователь
  • 201 сообщений

Опубликовано 09.03.2016 - 12:43

По-моему, Вы явно что-то путаете, потому что:

1. "хочу сделать основное изображение категрии"

2. "ALTER TABLE `s_blog` ..."

 

И Ваша техническая реализация явно неверная, так как "image_block" встречается только один раз в шаблоне и больше нигде не используется...


да я кое что напутал тут, копировал просто не то что нужно, но по моим попыткам не вышло не чего, опыта мало в php



#4 Suprun4uk

Suprun4uk
  • Пользователь
  • 201 сообщений

Опубликовано 09.03.2016 - 12:49

Решил что просто заменой проканает что то, но понял что чуш несу.

 

Запросил.

ALTER TABLE `s_categories` ADD `image_one` VARCHAR( 255 ) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL AFTER `name`

..\admin\CategoryAdmin.php

 

// Удаление изображения
if($this->request->post('delete_image'))
{
  $this->categories->delete_image($category->id);
}
// Загрузка изображения
$image_one = $this->request->files('image_one');
if(!empty($image_one['name']) && in_array(strtolower(pathinfo($image_one['name'], PATHINFO_EXTENSION)), $this->allowed_image_extentions))
{
  $this->categories->delete_image($category->id);
  move_uploaded_file($image_one['tmp_name'], $this->root_dir.$this->config->categories_images_dir.$image_one['name']);
  $this->categories->update_category($category->id, array('image_one'=>$image_one['name']));
}

\admin\design\html\category.tpl

 

<div class="block layer images">
  <h2>Изображение категории</h2>
  <input class='upload_image' name=image_one type=file>     
  <input type=hidden name="delete_image" value="">
  {if $category->image_one}
  <ul>
    <li>
      <a href='#' class="delete"><img src='design/images/cross-circle-frame.png'></a>
      <img src="../{$config->categories_images_dir}{$category->image_one}" alt="" />
    </li>
  </ul>
  {/if}
</div>


#5 Kors

Kors
  • Фрилансер
  • 3 522 сообщений
  • Программирование
  • Версия CMS:1.x, 2.x
  • Откуда:Россия

Опубликовано 09.03.2016 - 14:22

Еще в api/Categories.php  надо новое поле вставить...



#6 Suprun4uk

Suprun4uk
  • Пользователь
  • 201 сообщений

Опубликовано 09.03.2016 - 15:33

Еще в api/Categories.php  надо новое поле вставить...



Спасибо, вывод получился с горем по полам, только вот при загрузки изображения в новый модуль, удаляется  картинка с основного изображения категории, при повторной заливки в основное изображения сохраняются все же два, но при удалении из нового модуля удаляется основное изобр. и не в какую не удаляется из нового модуля картинка полагаю что нужно в:

api/Categories.php

 

создать по аналогии типо

 


	// Удалить изображение категории
	public function delete_image_one($categories_ids)
	{
		$categories_ids = (array) $categories_ids;
		$query = $this->db->placehold("SELECT image_one FROM __categories WHERE id in(?@)", $categories_ids);
		$this->db->query($query);
		$filenames = $this->db->results('image_one');
		if(!empty($filenames))
		{
			$query = $this->db->placehold("UPDATE __categories SET image_one=NULL WHERE id in(?@)", $categories_ids);
			$this->db->query($query);
			foreach($filenames as $filename)
			{
				$query = $this->db->placehold("SELECT count(*) as count FROM __categories WHERE image_one=?", $filename);
				$this->db->query($query);
				$count = $this->db->result('count');
				if($count == 0)
				{			
					@unlink($this->config->root_dir.$this->config->categories_images_dir.$filename);		
				}
			}
			unset($this->categories_tree);
			unset($this->all_categories);	
		}
	}

и вписать в:

..\admin\CategoryAdmin.php

 

  	    		// Удаление изображения ===============

				if($this->request->post('delete_image_one'))
				{
				  $this->categories->delete_image($category->id);
				}

				// Загрузка изображения
				$image_one = $this->request->files('image_one');
				if(!empty($image_one['name']) && in_array(strtolower(pathinfo($image_one['name'], PATHINFO_EXTENSION)), $this->allowed_image_extentions))
				{
				  $this->categories->delete_image($category->id);
				  move_uploaded_file($image_one['tmp_name'], $this->root_dir.$this->config->categories_images_dir.$image_one['name']);
				  $this->categories->update_category($category->id, array('image_one'=>$image_one['name']));
				}

				// Удаление изображения ===============

 

и тут наверное.

 

  <h2>Изображение категории</h2>
  <input class='upload_image' name=image_one type=file>     
  <input type=hidden name="delete_image_one" value="">
  {if $category->image_one}
  <ul>
    <li>
      <a href='#' class="delete"><img src='design/images/cross-circle-frame.png'></a>
      <img src="../{$config->categories_images_dir}{$category->image_one}" alt="" />
    </li>
  </ul>
  {/if}
</div>

я в правильном направлении мыслю ? (для человека кто думает что  PHP это ТВ канал ??? "т.е Чайника" )



#7 Kors

Kors
  • Фрилансер
  • 3 522 сообщений
  • Программирование
  • Версия CMS:1.x, 2.x
  • Откуда:Россия

Опубликовано 09.03.2016 - 15:45

Скорее всего, Ваши трудности оттого, что не выполнили полностью:

Еще в api/Categories.php  надо новое поле вставить...

 

Надо же и обработку изображений свою создать. Возможно, и в admin/CategoryAdmin.php по этой части что-то поменять. Анализируйте текущую работу с изображениями и действуйте по аналогии...



#8 Suprun4uk

Suprun4uk
  • Пользователь
  • 201 сообщений

Опубликовано 09.03.2016 - 15:49

Скорее всего, Ваши трудности оттого, что не выполнили полностью:

 

Надо же и обработку изображений свою создать. Возможно, и в admin/CategoryAdmin.php по этой части что-то поменять. Анализируйте текущую работу с изображениями и действуйте по аналогии...



буду думать, спасибо.



#9 akvk

akvk
  • Пользователь
  • 15 сообщений
  • Заказчик
  • Версия CMS:2.x
  • Откуда:Александр

Опубликовано 06.08.2016 - 19:47

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



#10 Kors

Kors
  • Фрилансер
  • 3 522 сообщений
  • Программирование
  • Версия CMS:1.x, 2.x
  • Откуда:Россия

Опубликовано 06.08.2016 - 20:06

config/config.php



#11 akvk

akvk
  • Пользователь
  • 15 сообщений
  • Заказчик
  • Версия CMS:2.x
  • Откуда:Александр

Опубликовано 06.08.2016 - 20:22

там поменял, стоит

;Изображение в блоге
pages_images_dir = files/pages/;

 

Но почему то сохраняет в корень сайта



#12 Kors

Kors
  • Фрилансер
  • 3 522 сообщений
  • Программирование
  • Версия CMS:1.x, 2.x
  • Откуда:Россия

Опубликовано 06.08.2016 - 20:28

Видимо, потому, что настройка  pages_images_dir  НИКАК не связана с обсуждаемым вопросом и описанной доработкой...


Изменено: Kors, 06.08.2016 - 20:28


#13 akvk

akvk
  • Пользователь
  • 15 сообщений
  • Заказчик
  • Версия CMS:2.x
  • Откуда:Александр

Опубликовано 06.08.2016 - 21:31

Видимо, потому, что настройка  pages_images_dir  НИКАК не связана с обсуждаемым вопросом и описанной доработкой...

Спасибо огромной Kors! Разобрался с Вашей помощью.
 



#14 Dysha-Kuzbass

Dysha-Kuzbass
  • Пользователь
  • 18 сообщений
  • Заказчик, Пользователь
  • Версия CMS:2.x
  • Откуда:Кузбасс

Опубликовано 02.05.2017 - 16:41

Suprun4uk, а можно готовый вариант выложить? Или архив с описанием!

Спасибо!







Также с меткой «изображение категории, категории, картинки»

0 пользователей читают эту тему

0 пользователей, 0 гостей, 0 скрытых