Jump to content

Recommended Posts

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

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

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

 

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>

 

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

 

Link to post
Share on other sites

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

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

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

 

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

Link to post
Share on other sites

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

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

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

 

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

 

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

Link to post
Share on other sites

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

 

Запросил.

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>
Link to post
Share on other sites

Еще в 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 это ТВ канал ??? "т.е Чайника" )

Link to post
Share on other sites

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

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

 

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

Link to post
Share on other sites

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

 

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

 

 

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

Link to post
Share on other sites
  • 4 months later...

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

Link to post
Share on other sites

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

Edited by Kors
Link to post
Share on other sites

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

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

 

Link to post
Share on other sites
  • 8 months later...

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Loading...
×
×
  • Create New...