Jump to content

Изображение для поста блога


Recommended Posts

У меня статьи построены также, но и инструкция что я дал изначально - работает, сделайте еще раз всё строго пошагово, 7 раз отмерь - 1 раз отрежь. У меня - работает, пример - показал.

Edited by strukov
Link to post
Share on other sites
  • Replies 59
  • Created
  • Last Reply

Top Posters In This Topic

У меня статьи построены также, но и инструкция что я дал изначально - работает, сделайте еще раз всё строго пошагово, 7 раз отмерь - 1 раз отрежь. У меня - работает, пример - показал.

 Инструкция для статьи верная??

Link to post
Share on other sites

Вы можете глянуть мои шаги? Может быть там зарыта ошибка ?

 

во-первых в ф-ю удаления изображения поста нельзя передавать айди категории. 

 

еще у вас в

#3 - \api\Articles.php

почему-то удаляется из таблицы блога а не из s_articles

$query = $this->db->placehold("DELETE FROM __blog WHERE id=? LIMIT 1", intval($id));
Link to post
Share on other sites

 

во-первых в ф-ю удаления изображения поста нельзя передавать айди категории. 

 

еще у вас в

#3 - \api\Articles.php

почему-то удаляется из таблицы блога а не из s_articles

$query = $this->db->placehold("DELETE FROM __blog WHERE id=? LIMIT 1", intval($id));

В файле у меня вроде верно, это когда инструкцию переписывал видимо вставил. Вот как у меня в файле \api\Articles.php:

	$query = $this->db->placehold("DELETE FROM __articles WHERE id=? LIMIT 1", intval($id));
            $this->delete_image($id);
            
			if($this->db->query($query))
			{
				$query = $this->db->placehold("DELETE FROM __comments WHERE type='article' AND object_id=? LIMIT 1", intval($id));
				if($this->db->query($query))
					return true;
			}
				
Edited by motya88
Link to post
Share on other sites

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

Помогите плиз наконец решить данную проблему!

 

 

Может быть в инструкции, которой описал strukov кое где вместо $article использовать $article_category?

Link to post
Share on other sites

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

 

Скорее всего,  у Вас конфликт с удалением изображений для категорий и удалением изображений для статей. Возможно, вместо двух нужных функций к Вас существует всего одна. Вы ведь сделали добавление изображений и к статьям и к категориям.  А в инструкции от strukov-а, этот момент явно не учтен. Он уверенно пишет, что у него все работает - полагаю, он просто не проверял удаление...

 

И в фрагменте из предыдущего поста

$query = $this->db->placehold("DELETE FROM __comments WHERE type='article' AND object_id=? LIMIT 1", intval($id));

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

Link to post
Share on other sites

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

 

Скорее всего,  у Вас конфликт с удалением изображений для категорий и удалением изображений для статей. Возможно, вместо двух нужных функций к Вас существует всего одна. Вы ведь сделали добавление изображений и к статьям и к категориям.  А в инструкции от strukov-а, этот момент явно не учтен. Он уверенно пишет, что у него все работает - полагаю, он просто не проверял удаление...

 

И в фрагменте из предыдущего поста

$query = $this->db->placehold("DELETE FROM __comments WHERE type='article' AND object_id=? LIMIT 1", intval($id));

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

 

Удаление я проверял и работает все отлично.

https://vid.me/wh7R

 

А где "Он уверенно пишет" я что-то не пойму? Я сразу написал:

 

Возможно написал что-то не верно, не супер-профессионал в php - но работает.
 
Также буду благодарен если покажите на ошибку в моей инструкции.. Если она, конечно-же есть.
Edited by strukov
Link to post
Share on other sites

А где "Он уверенно пишет" я что-то не пойму? Я сразу написал:

 

Да, сначала написал в #10: "Возможно написал что-то не верно".

Но позже написал в #12: "У меня всё отлично работает".

 

Также буду благодарен если покажите на ошибку в моей инструкции.. Если она, конечно-же есть.

 

Чтобы ТОЧНО указать на ошибку в инструкции, она (инструкция) сама должна быть достаточно точной. В Вашей инструкции, например, в начале стоит: "simpla/design/html/article_category.tpl".  А в текущей версии Simpla 2.3.7  такого файла нет.  Можно только догадываться, что используется какая-то сторонняя разработка. В Вашей инструкции не хватает как минимум минимального описания, к какой ситуации эта инструкция применима...

 

Ваши слова "У меня всё отлично работает" довольно-таки бесполезны, проверить их посетителю форума невозможно без доступа хотя бы к Вашей админке. Если у Вас все хорошо работает, Вас можно поздравить. Но цель темы несколько иная...

Link to post
Share on other sites

Вам больше  нечего написать видимо т.к. думаю вы сами понимаете, что ваши слова уж точно тут бесполезны про

 

А в текущей версии Simpla 2.3.7  такого файла нет.

 

Ведь я писал инструкцию не относящуюся к этой теме, а конкретно в ответ на вопрос пользователя по модулю статей. Начинает напрягать.

 

 

цель темы

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

 

И если уж будете отвечать на текущее сообщение, отвечайте по делу, а если нечего ответить - лучше не отвечать вообще ничего.

Link to post
Share on other sites

Ведь я писал инструкцию не относящуюся к этой теме, а конкретно в ответ на вопрос пользователя по модулю статей. Начинает напрягать.

Что конкретно Вы имеете в виду под "модуль статей"? В текущей версии Simpla 2.3.7 такого нет. А сторонних разработок по статьям может быть много и разных...
Link to post
Share on other sites

Что конкретно Вы имеете в виду под "модуль статей"? В текущей версии Simpla 2.3.7 такого нет. А сторонних разработок по статьям может быть много и разных...

 

И снова вы о Simpla 2.3.7))) 

Тут вы правы по поводу сторонних доработок, нечего сказать на этот повод, но все-же я встречал только одну доработку для simpla "статьи с категориями".

Link to post
Share on other sites

И снова вы о Simpla 2.3.7))) 

Тут вы правы по поводу сторонних доработок, нечего сказать на этот повод, но все-же я встречал только одну доработку для simpla "статьи с категориями".

 

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

Link to post
Share on other sites

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

 

Скорее всего,  у Вас конфликт с удалением изображений для категорий и удалением изображений для статей. Возможно, вместо двух нужных функций к Вас существует всего одна. Вы ведь сделали добавление изображений и к статьям и к категориям.  А в инструкции от strukov-а, этот момент явно не учтен. Он уверенно пишет, что у него все работает - полагаю, он просто не проверял удаление...

 

И в фрагменте из предыдущего поста

$query = $this->db->placehold("DELETE FROM __comments WHERE type='article' AND object_id=? LIMIT 1", intval($id));

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

 

Все файлы, которые модифицировал выложил на ядиск

файл конфиг содержит строчки:

;Изображения статей
articles_images_dir = files/articles/;

;Изображения категорий статей
article_category_images_dir = files/artcatimg/;
Link to post
Share on other sites

Все оказалось именно так, как и предполагал, а именно:
 

...у Вас конфликт с удалением изображений для категорий и удалением изображений для статей. ...вместо двух нужных функций у Вас существует всего одна. Вы ведь сделали добавление изображений и к статьям и к категориям.  А в инструкции от strukov-а, этот момент явно не учтен.

 
На всякий случай для тех кто в танке:
Согласно инструкции, в simpla/ArticleCategoryAdmin.php при удалении изображения категории статей вызывается
$this->articles->delete_image($category->id);
А эта функция (в api/Articles.php) предназначена для удаления картинки СТАТЬИ. А автор инструкции применяет ее для удаления картинки КАТЕГОРИИ СТАТЕЙ. Потому удаление и не работает и не должно работать - все правильно и логично...

Link to post
Share on other sites

Все оказалось именно так, как и предполагал, а именно:

 

 

На всякий случай для тех кто в танке:

Согласно инструкции, в simpla/ArticleCategoryAdmin.php при удалении изображения категории статей вызывается

$this->articles->delete_image($category->id);

А эта функция (в api/Articles.php) предназначена для удаления картинки СТАТЬИ. А автор инструкции применяет ее для удаления картинки КАТЕГОРИИ СТАТЕЙ. Потому удаление и не работает и не должно работать - все правильно и логично...

а ты можешь сказать как правильно сделать???

Link to post
Share on other sites

Все оказалось именно так, как и предполагал, а именно:

 

 

На всякий случай для тех кто в танке:

Согласно инструкции, в simpla/ArticleCategoryAdmin.php при удалении изображения категории статей вызывается

$this->articles->delete_image($category->id);

А эта функция (в api/Articles.php) предназначена для удаления картинки СТАТЬИ. А автор инструкции применяет ее для удаления картинки КАТЕГОРИИ СТАТЕЙ. Потому удаление и не работает и не должно работать - все правильно и логично...

 

Я-ж даже видео сделал, ну где там - не работает??? Возможно сделал что-то не так, но я об этом и указал посте с инструкцией. НО у меня работает, для тех, кто в танке - выложил видео.

Link to post
Share on other sites

Я-ж даже видео сделал, ну где там - не работает??? Возможно сделал что-то не так, но я об этом и указал посте с инструкцией. НО у меня работает, для тех, кто в танке - выложил видео.

 

Вы что, издеваетесь?

Если хотите что-то доказать, то выкладывать надо не видео, а URL с  доступом к админке.  А потом, может, и FTP доступ... 

 

 

а ты можешь сказать как правильно сделать???

 

Уже сказал:

...вместо двух нужных функций к Вас существует всего одна.

 

Стало быть, надо написать и использовать вторую функцию. На бесплатной основе я такое сделать не готов. Я и так сделал для Вас немало - раскопал ошибку, несмотря на сильное сопротивление автора инструкции...

Link to post
Share on other sites

Буду ждать решения(

 

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

 

вам нужно добавить еще одну ф-ю. для удаления изображения картинок категории и ее вызывать.

 

	public function delete_category_image($id)
	{
		$id = (array) $id;
		$query = $this->db->placehold("SELECT image FROM __article_categories WHERE id in(?@)", $id);
		$this->db->query($query);
		$filenames = $this->db->results('image');
		if(!empty($filenames))
		{
			$query = $this->db->placehold("UPDATE __article_categories SET image=NULL WHERE id in(?@)", $id);
			$this->db->query($query);
			foreach($filenames as $filename)
			{
				$query = $this->db->placehold("SELECT count(*) as count FROM __article_categories WHERE image=?", $filename);
				$this->db->query($query);
				$count = $this->db->result('count');
				if($count == 0)
				{			
					@unlink($this->config->root_dir.$this->config->article_category_images_dir.$filename);		
				}
			}
		}
	}
Link to post
Share on other sites

 

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

 

вам нужно добавить еще одну ф-ю. для удаления изображения картинок категории и ее вызывать.

 

	public function delete_category_image($id)
	{
		$id = (array) $id;
		$query = $this->db->placehold("SELECT image FROM __article_categories WHERE id in(?@)", $id);
		$this->db->query($query);
		$filenames = $this->db->results('image');
		if(!empty($filenames))
		{
			$query = $this->db->placehold("UPDATE __article_categories SET image=NULL WHERE id in(?@)", $id);
			$this->db->query($query);
			foreach($filenames as $filename)
			{
				$query = $this->db->placehold("SELECT count(*) as count FROM __article_categories WHERE image=?", $filename);
				$this->db->query($query);
				$count = $this->db->result('count');
				if($count == 0)
				{			
					@unlink($this->config->root_dir.$this->config->article_category_images_dir.$filename);		
				}
			}
		}
	}

правильно я понял, что надо твой код вставить в api/articles.php

и потом подправить код в /simpla/ArticleCategoryAdmin на этот

  // Удаление изображения
				if($this->request->post('delete_category_image'))
				{
					$this->articles->delete_category_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->articles->delete_category_image($category->id);
					move_uploaded_file($image['tmp_name'], $this->root_dir.$this->config->article_category_images_dir.$image['name']);
					$this->articles->update_category($category->id, array('image'=>$image['name']));
				}
				$category = $this->articles->get_category(intval($category->id));
Link to post
Share on other sites

да так

Сделал, но все равно не получилось. Прикладываю файлы 

В статьях фотки не добавляются в админке((

 

В категория статей фотки в админке добавляются

Edited by motya88
Link to post
Share on other sites

Сделал, но все равно не получилось. Прикладываю файлы 

В статьях фотки не добавляются в админке((

 

В категория статей фотки в админке добавляются

 

ну во-первых вы задавали вопрос о категориях. 

во-вторых, а вы уверены что не добавляются? 

почему в этом запросе у вас два одинаковых названия поля?

 

$query = $this->db->placehold("SELECT a.*, a.image, c.url category_url, c.name category, c.image  

в двух местах нужно заменить на

 

$query = $this->db->placehold("SELECT a.*, a.image, c.url category_url, c.name category, c.image category_image 
Edited by mishanya
Link to post
Share on other sites

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...