Page 1 of 1

Картинка страницы - тег {content_image}

Posted: Wed Oct 20, 2010 4:15 pm
by hippycore
Прошу помощи. Проблема следующая:
Сайт представляет собой каталог автомобилей, но изначально не задумывался как каталог, в следствии чего модуль Cataloger не был использован и страницы имеют тип 'Контент'.
Теперь же требуется чтобы у каждой страницы была возможность загрузки картинки обозначающей данную страницу и вывода этих картинок на странице родителе, вообщем все как в модуле Cataloger. Причем на странице содержится 4 раздела и на каждый раздел приходится по 2 блока контента (один блок это описание а другой тег фотоальбома с фотками к этому разделу).
Сейчас когда создано околу двух сотен страниц к которым привязано еще больше фотоальбомов очень сложно будет перевести все в формат каталога.
Я воспользовался тегом  {content_image} чтобы добавлять картинки к страницам и написал свой тег чтобы можно было получать картинки всех подстраниц для страницы.

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

Решение данного вопроса я вижу 2:
  • Либо каким то магическим способом перевести все страницы в формат каталога  :-\.
  • Либо сделать удобную заливку картинок через {content_image}. Можно сделать просто форму загрузки файла или подключить какой нибудь ajaxfilemanager
Второй вариант для меня намного более предпочтительнее.


Если объяснить все покороче то мне нужно чтобы при использовании тега {content_image} выбирать картинки не через выпадающее меню а через какой либо файловый менеджер либо загружать их прямо с компа.

Фух.. надеюсь более менее понятно изложил суть моей головной боли. Очень прошу помочь.

Re: Картинка страницы - тег {content_image}

Posted: Fri Oct 22, 2010 3:10 pm
by hippycore
Решил путем переписания функции _display_image_block($blockInfo,$value,$adding) из файла /lib/classes/contenttypes/Content.inc.php (758).
Сделал вместо выпадающего списка вызов обозревателя CKFinder.

Code: Select all

	private function _display_image_block($blockInfo,$value,$adding)
	{
		global $gCms;
		$config =& $gCms->GetConfig();
		$dir = cms_join_path($config['uploads_path'],$blockInfo['dir']);
		$optprefix = 'uploads';
		if( !empty($blockInfo['dir']) ) $optprefix .= '/'.$blockInfo['dir'];
		$inputname = $blockInfo['id'];
		if( isset($blockInfo['inputname']) )
		{                                                       
			$inputname = $blockInfo['inputname'];
		}
                //Стандартное выпадающее меню
		//$dropdown = create_file_dropdown($inputname,$dir,$value,'jpg,jpeg,png,gif', $optprefix,true);                                                        		
        if( $dropdown === false )           
		{
			$dropdown = lang('error_retrieving_file_list');
		}
		$dropdown = '<input id="xFilePath" value="'.$value.'" name="'.$inputname.'" type="text" size="60" />
        <input type="button" value="Обзор" onclick="BrowseServer();" />';
        if(isset($value) && $value != ''){
        $image='
        <hr />
        <div class="">Миниатюра страницы:</div>
        <img src="/image.php?image=/'.$value.'&width=200" />';
          $dropdown = $dropdown.$image;
        }      
		return $dropdown;
	}
Получилось мило =)
Image