Помощник
Здравствуйте, гость ( Вход | Регистрация )
Модуль ФАЙЛЫ и картинки в нем. |
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
|
|
Новичок Группа: Бета-тестеры Сообщений: 33 Регистрация: 2008-12-13 Из: г. Волгоград Репутация: нет Всего: 2 |
absorber, Как решил то скажи ! Тоже интересно, делаю модуль медиа сейчас...
|
|
|
||
absorber |
2010-01-12, 17:57
Сообщение
#5
|
|
Любитель Группа: Пользователи Сообщений: 114 Регистрация: 2009-01-26 Репутация: нет Всего: 3 |
Решение предложил где-то полгода назад 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 261 Регистрация: 2008-11-11 Из: Николаев Версия системы: RC5 Репутация: нет Всего: 67 |
Код:
Наверное, удален в процессе обновлений. Уже не припомню. |
|
|
||
Текстовая версия | 0.0356 сек. 11 запросов GZIP включен Сейчас: 2024-06-13, 6:40 |