Перейти к содержанию
Официальный форум поддержки Simpla

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


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

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

Изменено пользователем strukov
Ссылка на сообщение
Поделиться на другие сайты
  • Ответов 59
  • Дата создания
  • Последний ответ

Лучшие авторы в теме

Лучшие авторы в теме

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

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

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

Я себе сделал и сюда сразу-же написал. Вот тут http://market.uimax.ru/articles/samodel я задал фото и описание для категории.

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

Я себе сделал и сюда сразу-же написал. Вот тут http://market.uimax.ru/articles/samodel я задал фото и описание для категории.

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

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

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

 

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

 

еще у вас в

#3 - \api\Articles.php

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

$query = $this->db->placehold("DELETE FROM __blog WHERE id=? LIMIT 1", intval($id));
Ссылка на сообщение
Поделиться на другие сайты

 

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

 

еще у вас в

#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;
			}
				
Изменено пользователем motya88
Ссылка на сообщение
Поделиться на другие сайты

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

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

 

 

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

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

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

 

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

 

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

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

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

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

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

 

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

 

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

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

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

 

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

https://vid.me/wh7R

 

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

 

Возможно написал что-то не верно, не супер-профессионал в php - но работает.
 
Также буду благодарен если покажите на ошибку в моей инструкции.. Если она, конечно-же есть.
Изменено пользователем strukov
Ссылка на сообщение
Поделиться на другие сайты

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

 

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

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

 

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

 

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

 

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

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

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

 

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

 

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

 

 

цель темы

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

 

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

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

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

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

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

 

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

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

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

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

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

 

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

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

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

 

Скорее всего,  у Вас конфликт с удалением изображений для категорий и удалением изображений для статей. Возможно, вместо двух нужных функций к Вас существует всего одна. Вы ведь сделали добавление изображений и к статьям и к категориям.  А в инструкции от 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/;
Ссылка на сообщение
Поделиться на другие сайты

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

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

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

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

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

 

 

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

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

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

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

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

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

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

 

 

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

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

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

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

 

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

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

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

 

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

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

 

 

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

 

Уже сказал:

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

 

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

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

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

 

реально, написал вам в #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);		
				}
			}
		}
	}
Ссылка на сообщение
Поделиться на другие сайты

 

реально, написал вам в #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));
Ссылка на сообщение
Поделиться на другие сайты

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

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

 

да так

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

да так

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

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

 

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

Изменено пользователем motya88
Ссылка на сообщение
Поделиться на другие сайты

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

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

 

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

 

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

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

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

 

$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 
Изменено пользователем mishanya
Ссылка на сообщение
Поделиться на другие сайты

Присоединяйтесь к обсуждению

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

Гость
Ответить в этой теме...

×   Вставлено с форматированием.   Вставить как обычный текст

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

Загрузка...
×
×
  • Создать...