Намедни реализовал сабж, решил поделится
для начала сделаем запрос в БД для создания нового поля в таблице
ALTER TABLE `jos_content` ADD `artimage` varchar(255) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL
изменения:
libraries/joomla/database/table/content.php
после
class JTableContent extends JTable
{
добавляем
administrator/components/com_content/admin.content.html.php
находим функцию
function editContent( &$row, $section, &$lists, &$sectioncategories, $option, &$form )
ниже находим форму
<form action="index.php" method="post" name="adminForm">
и меняем на
<form action="index.php" method="post" name="adminForm" enctype="multipart/form-data">
это для того, чтоб форма умела передавать в обработчик файлы
ниже в любом удобном месте формы добавляем поле для загрузки файла
<input name="artimage" type="file" />
переходим к обработчику
administrator/components/com_content/controller.php
находим функцию
и, например, после
$nullDate = $db->getNullDate();
вставляем:
ниже, перед
вставляем
$row->artimage = $filename;
все, осталось только в нужном месте шаблонов (которые находятся в components/com_content/views/(какой-то вид)/tmpl/default.php
вывести
<?php echo $this->article->artimage; ?>
к коду в controller.php желательно "прикрутить" обработку ошибок и полученного файла (изменить размер, например)
в моем случае картинка увеличивалась или уменьшалась до ширины 459 пикселей (высота менялась пропорционально ширине) и за обработку картинки отвечала отдельная функция img_resize(), расположенная в отдельном файле images.php
<?php
function img_resize($src, $dst)
{
if (!file_exists($src)) return false;
$size = getimagesize($src);
if ($size === false) return false;
файл находился в папке administrator/components/com_content/ и подключался перед
jimport('joomla.filesystem.file');
вот таким образом
соответственно вместо
JFile::upload($artimage['tmp_name'], $filepath;
у меня вызывалась эта функция
img_resize($artimage['tmp_name'], $filepath)
она же, помещает измененную картинку в нужную папку
как-то так...