X   Сообщение сайта
(Сообщение закроется через 2 секунды)

Здравствуйте, гость ( Вход | Регистрация )

 
Ответить в данную темуНачать новую тему
> Модуль ФАЙЛЫ и картинки в нем.
absorber
сообщение 2010-01-12, 10:07
Сообщение #1
Любитель
Иконка группы

Группа: Пользователи
Сообщений: 114
Регистрация: 2009-01-26

Репутация:   нет  
Всего: 3


Подопытный: http://gtfun.ru
Основная идея не усложнять систему использованием дополнительных модулей, а задействовать стандартные "новости" под "статьи" и "файлы" под медиа-каталог.
Но не позволяет этого сделать ситуация с отображением картинок.

Цель - привести вид http://gtfun.ru/files.html к внешнему виду http://www.funsib.ru/media.html

1. Как сделать в модуле "Файлы" вывод картинок не только, при подробном просмотре, но и на главной странице модуля, т.е. в списке http://gtfun.ru/files.html как это было в RC4?
2. В модуле "Файлы" при подробном просмотре видим жутко обрезанную картинку, жмем на нее или надпись "все картинки" и попадаем на страницу с картинкой в гигантском размере. Как сделать чтобы на этой странице картинка принудительно ограничивалась в размере?
3. Как сделать чтобы картинка не обрезалась до маленькой а просто уменьшалась в предпросмотре а то совсем непонятно выглядет - полюбуйтесь http://gtfun.ru/files/%D0%B8%D0%B3%D1%80%D.../do_images.html?
4. Можно ли задать размер этой маленькой картинки до которой ужимается оригинал. Вот тут http://www.funsib.ru/media.html размер маленьких картинок мне больше нравится чем вот тут http://gtfun.ru/files/%D0%B8%D0%B3%D1%80%D1%8B/the-path.html?
5. Как сделать чтобы при клике на маленькую картинку выводилась большая как вот тут http://www.funsib.ru/media/view/516.html а не открывалась новая страница с гигантской картинкой?

Думаю эти решения многим пригодятся :)

Сообщение отредактировал absorber - 2010-01-12, 10:39
Перейти в начало страницы
+Цитировать сообщение
absorber
сообщение 2010-01-12, 11:32
Сообщение #2
Любитель
Иконка группы

Группа: Пользователи
Сообщений: 114
Регистрация: 2009-01-26

Репутация:   нет  
Всего: 3


Вопрос №1 я решил!

Помогите, пожалуйста, старому с решением последнего вопроса с картинками :)

Как сделать чтобы картинка не обрезалась до маленькой (т.е. показывалась не полностью а лишь серединка) как тут:
http://gtfun.ru/files.html

а просто уменьшалась и показывалась целиком как тут:

http://gtfun.ru/files/%D1%84%D0%B8%D0%BB%D...iends-past.html

Сообщение отредактировал absorber - 2010-01-12, 12:10
Перейти в начало страницы
+Цитировать сообщение
absorber
сообщение 2010-01-12, 12:32
Сообщение #3
Любитель
Иконка группы

Группа: Пользователи
Сообщений: 114
Регистрация: 2009-01-26

Репутация:   нет  
Всего: 3


Со всем разобрался сам, все вопросы решил! Спасибо!
Перейти в начало страницы
+Цитировать сообщение
mandriver
сообщение 2010-01-12, 15:13
Сообщение #4
Новичок
Иконка группы

Группа: Бета-тестеры
Сообщений: 32
Регистрация: 2008-12-13
Из: г. Волгоград

Репутация:   нет  
Всего: 2


absorber, Как решил то скажи ! Тоже интересно, делаю модуль медиа сейчас...
Перейти в начало страницы
+Цитировать сообщение
absorber
сообщение 2010-01-12, 17:57
Сообщение #5
Любитель
Иконка группы

Группа: Пользователи
Сообщений: 114
Регистрация: 2009-01-26

Репутация:   нет  
Всего: 3


Цитата (mandriver @ 12.1.2010, 15:13)
absorber, Как решил то скажи ! Тоже интересно, делаю модуль медиа сейчас...


Решение предложил где-то полгода назад SHAKA1. За что спасибо огромное ему!

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

Предлагаю на ваш суд новую дополненную и исправленную 13 января в 9-38 по Московскому времени подробную инструкцию.

Открываешь файл: modules\files\user\index.php

находишь там функцию: FilesBeginPage - отвечает за вывод файлов на главной странице (т.е на странице files.html)

ШАГ 1. в функции находишь запрос:
Цитата
$result=$Mainclass->Db->Query('SELECT `id`, `url`, `main_cat`, `title`, `author`, `author_id`, `text`, `date`, `size`, `version`, `votes`, `total`, `comments`, `show_sokr`, `allow_comm` FROM `f_files` INNER JOIN `f_files_l` USING(`id`) WHERE `language` IN (\'\',\''.$Mainclass->lang_name.'\') AND'.$date_sql.' `status`=1 AND (`groups`=\'\''.$ug.') ORDER BY `pinned` DESC, `date` DESC, `id` DESC LIMIT '.$offset.', '.($general ? $Mainclass->vars['m_files_per_page_general'] : $Mainclass->vars['m_files_per_page']),__file__,__line__);


заменяешь его на

Цитата
$result=$Mainclass->Db->Query('SELECT `id`, `url`, `main_cat`, `title`, `author`, `author_id`, `text`, `date`, `size`, `version`, `votes`, `total`, `comments`, `allow_comm`, `images` FROM `f_files` INNER JOIN `f_files_l` USING(`id`) WHERE `language` IN (\'\',\''.$Mainclass->lang_name.'\') AND'.$date_sql.' `status`=1 AND (`groups`=\'\''.$ug.') ORDER BY `pinned` DESC, `date` DESC, `id` DESC LIMIT '.$offset.', '.($general ? $Mainclass->vars['m_files_per_page_general'] : $Mainclass->vars['m_files_per_page']),__file__,__line__);


ШАГ 2 далее после строки:
Цитата
$url=($Mainclass->vars['m_files_long_url'] ? $Mainclass->Categories_l->CategoryUrl($arr['main_cat'],'','',false) : '').$Mainclass->Url->ConstructUrl(array(array($arr['url'],'fid'=>$arr['id'])),!$Mainclass->vars['m_files_long_url']);

добавляешь:

Цитата
$ahref='<a href="'.$url.'" class="thumbimage">';
$image=$img_descr='';
if (!empty($arr['images'])) {
$images=explode('§',$arr['images']);
foreach($images as $k=>$v) {
$temp=explode('·',$v);
if (empty($temp[0])) continue;
if (empty($temp[1])) $temp[1]='';
if ($k==0) {
try {$image=$Mainclass->Functions->CreateImageThumb($temp[0],180);}
catch(EExceptionNonFatal $e){}
if (empty($image))
$image=$temp[0];
$img_descr=$temp[1];
break;
}}}


ШАГ 3 затем после:

Цитата
'moder' =>$general ? '' : DeleteEdit(array('DeleteFile'=>$arr['id']),array('EditFile'=>$arr['id'])),


вставляешь:

Цитата
'image' =>$image,
'img_descr' =>$img_descr,
'ahref' =>$ahref,


ШАГ 4 аналогично делашь с функцией: FilesCategory - отвечает за вывод файлов в категориях,
но в ПЕРВОМ ШАГЕ находиш

Цитата
$result=$Mainclass->Db->Query('SELECT `id`, `url`, `title`, `author`, `author_id`, `text`, `date`, `size`, `version`, `votes`, `total`, `comments`, `allow_comm` FROM `f_files` INNER JOIN `f_files_l` USING(`id`) WHERE `language` IN (\'\',\''.$Mainclass->lang_name.'\') AND (`main_cat`=\''.$cat_dump['id'].'\' OR `cats` LIKE \'%,'.$cat_dump['id'].',%\') AND `status`=1 AND (`groups`=\'\''.$ug.') ORDER BY `pinned` DESC, `date` DESC, `id` DESC LIMIT '.$offset.', '.$Mainclass->vars['m_files_per_page'],__file__,__line__);


заменяешь его на

Цитата
$result=$Mainclass->Db->Query('SELECT `id`, `url`, `main_cat`, `title`, `author`, `author_id`, `text`, `date`, `size`, `version`, `votes`, `total`, `comments`, `allow_comm`, `images` FROM `f_files` INNER JOIN `f_files_l` USING(`id`) WHERE `language` IN (\'\',\''.$Mainclass->lang_name.'\') AND (`main_cat`=\''.$cat_dump['id'].'\' OR `cats` LIKE \'%,'.$cat_dump['id'].',%\') AND `status`=1 AND (`groups`=\'\''.$ug.') ORDER BY `pinned` DESC, `date` DESC, `id` DESC LIMIT '.$offset.', '.($general ? $Mainclass->vars['m_files_per_page_general'] : $Mainclass->vars['m_files_per_page']),__file__,__line__);


Остальное как для функции FilesBeginPage

ШАГ 5 после этого удаляешь файл modules\files\Template\Base-files.html

ШАГ 6 вместо него создаешь файл Base-files.php со следующим содержанием:
Цитата
<div class="base">
<div class="heading"><div class="binner">
<h3><?php echo$title?></h3>
<div class="moreinfo">
<span class="arg"><?php echo$category?></span>
<span class="arg"><?php echo$date?></span>
<span class="arg"><?php echo$size?></span>
<span class="arg"><?php echo$version?></span>
<div class="clr"></div>
</div>
<div class="clr"></div>
</div></div>
<div class="maincont"><div class="binner">
<?php if ($image):?><?php echo$ahref?><img src="<?php echo$theme?>/images/spacer.png" style="background-image: url(<?php echo$image?>);" alt="<?php echo$img_descr?>"/><span><?php echo$Mainclass->lang['files']['detail']?></span></a><?php endif?>
<?php echo$content?>
<?php if ($moder):?><div align="right"><?php echo$moder?></div><?php endif?>
<div class="clr"></div>
</div></div>

<div class="morelink"><div class="binner">
<div class="ratebase"><?php echo$rating?></div>
<span class="argmore"><?php echo$more?></span>
<div class="clr"></div>
</div></div>
</div>


ШАГ 7 для редактирования размера размера меленького изображения открываешь файл engine.css в папке /temolates/твой шаблон/style/, находиш в этом файле параметр a.thumbimage img { - в нем параметр width: отвечатет за ширину изображения в пикселях, параметр height: за высату в пикселях. Я себе поставил width: 160px; height: 240px;

Все прекрасно работает на RC5...

Пример смотрите тут: http://gtfun.ru/files.html

Буду очень рад если узнаю, что кому-то помог.

Сообщение отредактировал absorber - 2010-01-13, 9:39
Одобрили: mandriver
Перейти в начало страницы
+Цитировать сообщение
absorber
сообщение 2010-01-13, 10:45
Сообщение #6
Любитель
Иконка группы

Группа: Пользователи
Сообщений: 114
Регистрация: 2009-01-26

Репутация:   нет  
Всего: 3


Первый пост обновил. Инструкция полная и справедливая для RC5. Пользуйтесь!
Перейти в начало страницы
+Цитировать сообщение
Гость_Din_*
сообщение 2010-11-25, 20:31
Сообщение #7



Гости





Здравствуйте.
Может кто нибудь мне поможет разобраться.
ШАГ 5 после этого удаляешь файл modules/files/Template/Base-files.html
Почему то в моей RC5 такого файла не существует. Я просто создал данную папку и файл как указано в пункте 6.

Да и вот еще возникла проблема все переделал как написано выше, теперь при переходе по ссылке файлы вылетает ошибка.

Parse error: syntax error, unexpected T_CONSTANT_ENCAPSED_STRING in /home/dean/domains/storecd.ru/public_html/modules/files/user/index.php on line 204

Вот эта строка на которую ругается

$result=$Mainclass->Db->Query('SELECT `id`, `url`, `main_cat`, `title`, `author`, `author_id`, `text`, `date`, `size`, `version`, `votes`, `total`, `comments`, `allow_comm`, `images` FROM `el_12files` INNER JOIN `el_12files_l` USING(`id`) WHERE `language` IN ('',''.$Mainclass->lang_name.'') AND'.$date_sql.' `status`=1 AND (`groups`='''.$ug.') ORDER BY `pinned` DESC, `date` DESC, `id` DESC LIMIT '.$offset.', '.($general ? $Mainclass->vars['m_files_per_page_general'] : $Mainclass->vars['m_files_per_page']),__file__,__line__);

Я так понял ошибка где то в коде, помогите найти.

Сообщение отредактировал Din - 2010-11-25, 20:54
Перейти в начало страницы
+Цитировать сообщение
Alexander
сообщение 2010-11-27, 0:04
Сообщение #8
Eleanor developer
Иконка группы

Группа: Администраторы
Сообщений: 5 260
Регистрация: 2008-11-11
Из: Николаев
Версия системы: RC5

Репутация:   нет  
Всего: 67


Код:
$result=$Mainclass->Db->Query('SELECT `id`, `url`, `main_cat`, `title`, `author`, `author_id`, `text`, `date`, `size`, `version`, `votes`, `total`, `comments`, `allow_comm`, `images` FROM `el_12files` INNER JOIN `el_12files_l` USING(`id`) WHERE `language` IN (\'\',\''.$Mainclass->lang_name.'\') AND'.$date_sql.' `status`=1 AND (`groups`=\'\''.$ug.') ORDER BY `pinned` DESC, `date` DESC, `id` DESC LIMIT '.$offset.', '.($general ? $Mainclass->vars['m_files_per_page_general'] : $Mainclass->vars['m_files_per_page']),__file__,__line__);


Цитата (Din @ 2020-01-22 05:55)
Почему то в моей RC5 такого файла не существует. Я просто создал данную папку и файл как указано в пункте 6.

Наверное, удален в процессе обновлений. Уже не припомню.
Перейти в начало страницы
+Цитировать сообщение

Ответить в данную темуНачать новую тему
0 чел. читают эту тему (гостей: 0, скрытых пользователей: 0)
Пользователей: 0

 
RSS Текстовая версия 0.0376 сек.    11 запросов    GZIP включен    Сейчас: 2020-01-22, 4:55