 |
 |
Форум поддержки MaxSite CMS |
|
| Автор |
Сообщение |
|
Sadovnik
|
Заголовок сообщения: Формирование галерей изображений по тегам у картинок Добавлено: 31 янв 2010, 00:32 |
|
Зарегистрирован: 26 июл 2009, 18:59 Сообщения: 248 Откуда: Донбасс
|
Смысл такой: подразумеваем что в discription занесены метки, разделенные запятыми. Есть функция taggallery_recalc() которая обходит все файлы с описаниями и строит массив меток и файлов. Эта функция вызывается при нажатии кнопки "Сохранить" в админке плагина. То-есть после загрузки новых изображений надо пересчитать массив. Плагин подключает в заданный url галерею. Вот как выглядит: http://filsadovnik.ru/pictures/ Вот плагин: http://www.filsadovnik.ru/files/taggallery.zipВ плагине не избавился от Код: global $MSO; $gallery_url = $MSO->config['site_url'] . $gallery_slug . '/'; Теоретически надо заменить на $gallery_url = getinfo('site_url') . $gallery_slug . '/'; Плагин пока без проверок и красивостей. Не знаю - правильную ли обработку данных выбрал. Может использовать БД?
|
|
 |
|
 |
|
Wave
|
Заголовок сообщения: Re: Формирование галерей изображений по тегам у картинок Добавлено: 31 янв 2010, 09:39 |
|
| Модератор |
 |
Зарегистрирован: 01 фев 2009, 16:38 Сообщения: 1080 Откуда: Харьков
|
Неплохо. Из «шашечек» можно добавить такую (или более навороченную) штуку: «метки, метки, метки | описание». Я банерокрутилку аналогичным образом делал: «линк | описание». Рекомендую пользоваться urlencode (и, возможно, urldecode), потому что в описаниях могут встречаться русские буквы, пробелы и так далее. См. пример хотя бы в плагине tagclouds. Или пользуйся для ссылок функцией mso_slug, а для текста ссылок самими метками. Кстати, голосую за этот вариант. Также засада — если файл — не картинка. Сделай, что ли, возможность его хотя бы просто показать ссылкой, чтобы можно было скачать. Как в админке для некартинок. А также желательна возможность исключить показ меток и файлов некартинок. Следующая засада если много меток. Захожу на одну метку, а там целая страница меток, а под ними одна картинка, а то и ни одной. И ещё два пожелания: 1. Чтоб можно было выборочно задавать каталоги, которые участвуют в показе. Например, я хочу, чтобы на сайт выводились каталоги funny, pics и calendar. Остальное чтоб было для внутреннего пользования. Кстати, та самая банерокрутилка, например. 2. Сделай страницу со своими плагинами. Чтобы там можно было увидеть список твоих плагинов, их актуальные версии и так далее. Пока из пожеланий и замечаний это всё. Вёрстки не касаюсь, в код глубоко не влазил. P.s. Запятые через пробел после меток в их списке — это пунктуационно неверно. Знаки препинания должны стоять сразу после слов. Исключения: тире, многоточие вместо слова, вроде бы всё. P.p.s. Массив меток рекомендуется хранить не в опциях, а в плоских опциях. Код: # получим список всех ушек $ushki = mso_get_float_option('ushki', 'ushki', array()); Код: mso_add_float_option($key, $ushki, $type); // и в опции Потому что их может быть очень много. И чтоб не загружать базу данных, раз уж без базы сделал, пользуйся плоскими опциями.
|
|
 |
|
 |
|
Sadovnik
|
Заголовок сообщения: Re: Формирование галерей изображений по тегам у картинок Добавлено: 31 янв 2010, 10:38 |
|
Зарегистрирован: 26 июл 2009, 18:59 Сообщения: 248 Откуда: Донбасс
|
Спасибо за рекомендации. Цитата: Рекомендую пользоваться urlencode (и, возможно, urldecode), потому что в описаниях могут встречаться русские буквы, пробелы и так далее. Даже если русские буквы и пробелы все работает. Ссылки правда не красивые если дать где-то - но ведь в Википедии тоже так (что вообще-то напрягает). Цитата: Также засада — если файл — не картинка. Планирую сделать опцию "Показывать ли не-картинки". Также будет поле где задаются метки, исключенные из показа. Или ввести понятие служебные теги, перед которыми ~ Например, хочу тегом ~1 задавать картинку - обложку галереи (сейчас случайная) У меня уже для картинок, предназначенных для показа есть каталог Gallery, в котором уже много картинок (0,3Гб), которые там давно и на которые есть отовсюду ссылки. Не знаю что с этим делать - думал задавать каталог, где галерея (не uploads) опционально. Но как тогда править описания, если при помощи плагина "Загрузки" туда не залезть? Цитата: Чтоб можно было выборочно задавать каталоги, которые участвуют в показе. Подразумевается много-уровневость каталогов Галерея->Цветы->Ромашка. Как тогда быть? - разве что указать каталоги, исключаемые при обходе, независимо от уровня где они находятся. Еще хочу чтобы на странице site/tag выводило сверху ссылку на галерею этой метки, если есть такая. А после контента страницы тоже выдавало ссылки на галереи по меткам страницы.
|
|
 |
|
 |
|
admin
|
Заголовок сообщения: Re: Формирование галерей изображений по тегам у картинок Добавлено: 31 янв 2010, 10:42 |
|
| Администратор |
 |
Зарегистрирован: 31 янв 2009, 18:02 Сообщения: 1302
|
|
Не вдаваясь в технические детали, объясните смысл плагина. Верно ли я понял, что метки - это само описание картинки? Нельзя задать и название, и метки?
|
|
 |
|
 |
|
Wave
|
Заголовок сообщения: Re: Формирование галерей изображений по тегам у картинок Добавлено: 31 янв 2010, 11:47 |
|
| Модератор |
 |
Зарегистрирован: 01 фев 2009, 16:38 Сообщения: 1080 Откуда: Харьков
|
Смысл плагина в (полу)автоматическом создании галереи в сайте на макссайте. Причём, если сделать хук на изменения в загрузках (загрузку, редактирование меток, удаление), то после цепляния к этому хуку можно убрать приставку «полу». Как имхо, это гораздо удобней (особенно в некоторых случаях), чем генерировать код галереи и вставлять в текст. Цитата: Нельзя задать и название, и метки? Именно поэтому я предлагаю «метки, метки, метки | описание». Или наоборот. Можно ещё подумать. Ещё для этого же предлагаю произвольные каталоги задавать. Цитата: Даже если русские буквы и пробелы все работает. Встречаются проблемы, например, при клике на такой ссылке в rss-читалке с вызовом браузера. И так далее. Просто на всякий случай, если urlencode — таких проблем не бывает. Да, сюда же, пользуйся ещё функцией trim() — она убирает начальные и конечные пробелы строки. if ( trim($tags[0]) ) //Значит, метка не состоит из одних только пробелов { echo trim($tags[0]); } Но я предлагаю вариант такой: Допустим, метки в $tags[]. Метка «Ромашка», допустим, нулевая. $tags[0] == 'Ромашка' <a href="<?=mso_slug($tags[0])?>"><?=$tags[0]?></a> <a href="romashka">Ромашка</a> Конечно, понадобится переделать внутреннюю структуру данных, но не сильно. Зато транслитерация ссылок автоматом. Цитата: Или ввести понятие служебные теги, перед которыми ~ Тоже поддерживаю. Чем выше кастомизация, тем лучше. Цитата: разве что указать каталоги, исключаемые при обходе, независимо от уровня где они находятся. Так тоже хороший вариант. Цитата: Еще хочу чтобы на странице site/tag выводило сверху ссылку на галерею этой метки, если есть такая. А после контента страницы тоже выдавало ссылки на галереи по меткам страницы. Тоже хорошая идея. Поддерживаю. Только чтобы не трогать шаблон, это… Даже не знаю. К хуку пагинации разве что цепляться. Или к хуку content, но при этом смотреть, что если is_type('tag') и это последняя заметка на текущей странице, тогда выводить. is_type('page') — однозначно цепляться на контент и выводить после текста страницы.
|
|
 |
|
 |
|
admin
|
Заголовок сообщения: Re: Формирование галерей изображений по тегам у картинок Добавлено: 31 янв 2010, 12:03 |
|
| Администратор |
 |
Зарегистрирован: 31 янв 2009, 18:02 Сообщения: 1302
|
Не уловил. Код: [php]
echo random_gal_widget_custom(array('gal'=>'uploads/', 'count'=>999), 0);
[/php]
Не то?
|
|
 |
|
 |
|
Sadovnik
|
Заголовок сообщения: Re: Формирование галерей изображений по тегам у картинок Добавлено: 31 янв 2010, 12:26 |
|
Зарегистрирован: 26 июл 2009, 18:59 Сообщения: 248 Откуда: Донбасс
|
Код: echo random_gal_widget_custom(array('gal'=>'uploads/', 'count'=>999), 0); Хотелось чтобы можно было управлять структурой галерей и быть отвязанным от создания поста. Чтобы галереи сами делались. То-есть, добавляем при помощи загрузчика картинки а они сами попадают в соответствующие галереи, которые мы указываем при загрузке. И ничего кроме загрузить картинку и присвоить ей метку не надо было делать руками. Цитата: Нельзя задать и название, и метки? Хорошо было бы в отдельном поле, конечно, задавать метки. Тогда нужно будет делать свой файл _mso_i/_mso_tag.dat и организовывать его редактирование еще одним загрузчиком типа встроенного. Наверное стоит сделать, чтобы метки, которые предназначены для построения галереи, начинались на задаваемый символ, например ~ - тогда исчезнет необходимость задавать каталоги и метки, исключаемые из выдачи.
|
|
 |
|
 |
|
Wave
|
Заголовок сообщения: Re: Формирование галерей изображений по тегам у картинок Добавлено: 31 янв 2010, 13:30 |
|
| Модератор |
 |
Зарегистрирован: 01 фев 2009, 16:38 Сообщения: 1080 Откуда: Харьков
|
admin писал(а): Не уловил. Код: [php]
echo random_gal_widget_custom(array('gal'=>'uploads/', 'count'=>999), 0);
[/php]
Не то? Мало того, что на каждую такую папку нужно создавать страницы галереи вручную, так ещё и: 1. Выводятся все картинки папки (а бывает нужно не все, или всего несколько картинок из разных папок, или…) 2. Рандом_гал выводит рандомно. А бывает нужно в строгом порядке. 3. У обсуждаемого плагина, как уже сказано, в планах автоматом цепляться к страницам, имеющим такие же метки. В любом случае, чем плохо появление дополнительного плагина?
|
|
 |
|
 |
|
Sadovnik
|
Заголовок сообщения: Re: Формирование галерей изображений по тегам у картинок Добавлено: 31 янв 2010, 13:43 |
|
Зарегистрирован: 26 июл 2009, 18:59 Сообщения: 248 Откуда: Донбасс
|
|
Подскажите пожалуйста: как заставить, например плагин от Groma, залезть в директорий не uploads а gallery? А насчет того что повесить хук на загрузку картинки, чтобы пересчитывало массив галерей сразу после загрузки картинок - а насколько это займет ресурс времени: разве сложно нажать одну кнопку?
|
|
 |
|
 |
|
admin
|
Заголовок сообщения: Re: Формирование галерей изображений по тегам у картинок Добавлено: 31 янв 2010, 13:53 |
|
| Администратор |
 |
Зарегистрирован: 31 янв 2009, 18:02 Сообщения: 1302
|
Я как раз не против.  Просто я хочу понять смысл. Вывод по меткам. Метки это что? В текущем варианте это просто описание. Еще метками могут быть название каталога. Если же нужно добавлять метки к каждой картинке, то разве это упрощение? Думаю, что тут нужно каким-то образом решить, что метки должны быть в описании. Например в стиле твиттера (#). Тогда, действительно можно попробовать сделать аналогичный плагин, а еще лучше на уровне системы. Плагин random_gal практически полностью подходит. Добавить порядок сортировки не сложно. Нацепить хук на custom_page_404 просто. Дальше анализируем второй сегмент и решаем что выводить: метки, каталог и т.п.
|
|
 |
|
 |
|
Кто сейчас на конференции
Сейчас этот форум просматривают: Yahoo [Bot] и гости: 1 |
| |
|
|
Вы не можете начинать темы Вы не можете отвечать на сообщения Вы не можете редактировать свои сообщения Вы не можете удалять свои сообщения
|
|
 |