0 Пользователей и 1 Гость просматривают эту тему.
  • 43 Ответов
  • 14817 Просмотров
*

snowindy

  • Осваиваюсь на форуме
  • 30
  • 3 / 0
Написал свой ajax-based элемент изображений для Zoo.
http://narod.ru/disk/16027896000/zoo_eg_image_1.1_UNZIP_OVER_SITE.zip.html

UPD.
----------------------------------------------------------------------------
Обновил элемент до версии 1.1.

Изменение:

    * Изображения нормально работают при размещении сайта на site.com, а также на site.com/subfolder
    * Добавлено API для получения ссылки на изображения в шаблоне (минуя $element->render() ):
      Тамбнейл: $element->getImageThSrc()
      Само изображение: $element->getImageSrc()
    * Реорганизация внутренней структуры скриптов и стилей


Установка: Как и раньше, скопировать содержимое архива поверх сайта. Файлы версии 1.0 можно удалить, а можно и не трогать. Они не будут использоваться.
----------------------------------------------------------------------------


Фичи:
  • Загрузка изображения прямо из страницы редактирования продукта (ajax)
  • Автоматическая уборка мусора (неприкрепленные, исходные изображения), без cron
  • Ресайз изображения
  • Два режима отображения: тамбнейл и полноразмерное изображение (на странице категории и подробного просмотра)

Содержимое архива надо скопировать на сайт с уже установленным zoo. (Прямо поверх существующего сайта). Появится новая группа элеметов, и там новый элемент.
Буду признателен за отзывы! =)










Joomla 1.5.14
Zoo 1.0.6 Pro

Замечание по политике именования элементов:
У компонента Zoo дела с именами переменных обстоят весьма прискорбно.. Некоторые могут не подойти, причем Вы это узнаете уже потом, фильтрации хорошее-плохое имя при его определении не происходит.
Можно безопасно использовать только "a-z" и "_", без пробелов.


PS.
Да, я знаю, что assets надо было разложить по папочкам, многое оптимизировать, зажать js и т.п.
Но и в текущем состоянии все выглядит довольно пристойно. Уже можно использовать во многих проектах.
« Последнее редактирование: 17.01.2010, 13:54:06 от snowindy »
*

dieman

  • Захожу иногда
  • 136
  • 9 / 0
А куда копировать eg_assets и eg_php?
*

snowindy

  • Осваиваюсь на форуме
  • 30
  • 3 / 0
Весь архив надо распаковать поверх существующего сайта. Т.е. папки eg_assets и eg_php будут теперь находиться в корне сайта.
*

dieman

  • Захожу иногда
  • 136
  • 9 / 0
Спасибо большое.
*

snowindy

  • Осваиваюсь на форуме
  • 30
  • 3 / 0
Замечание по политике именования элементов:
У компонента Zoo дела с именами переменных обстоят весьма прискорбно.. Некоторые могут не подойти, причем Вы это узнаете уже потом, фильтрации хорошее-плохое имя при его определении не происходит.
Из замеченного:
  • Не используйте большие буквы в именах элементов
  • Нельзя использовать цифры в именах элементов
Короче, можно только "a-z" и "_".
« Последнее редактирование: 07.12.2009, 22:05:58 от snowindy »
*

snowindy

  • Осваиваюсь на форуме
  • 30
  • 3 / 0
Обновил элемент до версии 1.1.

Изменение:
  • Изображения нормально работают при размещении сайта на site.com, а также на site.com/subfolder
  • Добавлено API для получения ссылки на изображения в шаблоне (минуя $element->render() ):
    Тамбнейл: $element->getImageThSrc()
    Само изображение: $element->getImageSrc()
  • Реорганизация внутренней структуры скриптов и стилей

Установка: Как и раньше, скопировать содержимое архива поверх сайта. Старые файлы можно удалить, а можно и не трогать. Они не будут использоваться.
*

yondo

  • Новичок
  • 16
  • 1 / 0
  • joomla 1.5
Столкнулся с проблемой следующего характера...
Задача:
вывести в категории изображение с помощью eg_Image 1.1 и в результате клика на изображении вывести его в полном размере с помощью Rokbox плагина.

Решаю:
Код
<?php if (isset($elements['logoimg'])) : ?>	
      <a rel="rokbox[700 700]" title="Title :: Desc" href="<?php echo $elements['logoimg']->render(ZOO_VIEW_ITEM); ?>"><?php echo $elements['logoimg']->render(ZOO_VIEW_CATEGORY); ?></a>
<?php endif; ?>

Результат:
При генерации страницы код выглядит следующим образом
Код
<a src="/images/eg_zoo/eg_image/th_56b4c_logo-desee.jpg" image="" href="/<img alt=" title="Title :: Desc" rel="rokbox[700 700]">"><img src="/images/eg_zoo/eg_image/th_56b4c_logo-desee.jpg" alt="image"/></a>
при этом показа полного размера картинки не производится

Вопрос: как решить данную ситуацию. если применение плагина rokbox является единственным возможным?
*

snowindy

  • Осваиваюсь на форуме
  • 30
  • 3 / 0

    * Добавлено API для получения ссылки на изображения в шаблоне (минуя $element->render() ):
      Тамбнейл: $element->getImageThSrc()
      Само изображение: $element->getImageSrc()
 
Надо использовать вот это.
*

yondo

  • Новичок
  • 16
  • 1 / 0
  • joomla 1.5
не могу понять как это работает..

Скажите пожалуйста что вставить в ссылку, чтобы открылось полное изображение?

<a rel="rokbox[900 600]" title="<?php echo $item->name; ?> :: " href="ЧТО ВСТАВИТЬ?">
<?php echo $elements['logoimg']->render(ZOO_VIEW_CATEGORY); ?></a>

*

snowindy

  • Осваиваюсь на форуме
  • 30
  • 3 / 0
$element->getImageSrc()
*

yondo

  • Новичок
  • 16
  • 1 / 0
  • joomla 1.5
Re: Элемент изображений eg_Image 1.1 (ajax upload)
« Ответ #10 : 17.01.2010, 13:30:00 »
вставлял..
при генерации выдаёт
<a href="/$element->getImageSrc()" title="title:: " rel="rokbox">
<img src="/images/eg_zoo/eg_image/th_56b4c_logo-desee.jpg" alt="image"/>   </a>
*

snowindy

  • Осваиваюсь на форуме
  • 30
  • 3 / 0
Re: Элемент изображений eg_Image 1.1 (ajax upload)
« Ответ #11 : 17.01.2010, 13:39:22 »
господи...

естественно, надо это оформить как код php!
<?php echo $elements['logoimg']->getImageSrc(); ?></a>
*

yondo

  • Новичок
  • 16
  • 1 / 0
  • joomla 1.5
Re: Элемент изображений eg_Image 1.1 (ajax upload)
« Ответ #12 : 17.01.2010, 14:02:39 »
оо... дико извиняюсь..
спасибо тебе большое за ответы! с меня плюс!
*

yondo

  • Новичок
  • 16
  • 1 / 0
  • joomla 1.5
Re: Элемент изображений eg_Image 1.1 (ajax upload)
« Ответ #13 : 22.01.2010, 09:18:11 »
snowindy не подскажете какой параметр изменить чтобы при изменении размера изображение не ухудшалось в качестве? поясню, когда изменяется размер даже на 10 пикселей. на чистом изображении появляются артефакты. как будто изображение сохранилось с качеством 60%.
Заранее спасибо
*

snowindy

  • Осваиваюсь на форуме
  • 30
  • 3 / 0
Re: Элемент изображений eg_Image 1.1 (ajax upload)
« Ответ #14 : 22.01.2010, 11:12:25 »
хмм.. Пока что эту ситуацию нельзя исправить изменением параметра.
Вы можете заглянуть в функцию smart_resize_image, которая используется на строке 13 eg_php/eg_util.php. И изменить что-то там.

Я эту функцию ресайза взял на каком-то форуме. Поэтому, если вы разберетесь в ней и поймете что и как надо "подкрутить", для должного качества изображения, или предоставите свою функцию с аналогичными действиями, - через день-два я выпущу следующую версию eg_Image, в которой будет тот самый параметр..
*

goga63

  • Осваиваюсь на форуме
  • 41
  • 1 / 0
Re: Элемент изображений eg_Image 1.1 (ajax upload)
« Ответ #15 : 06.03.2010, 09:35:33 »
почему-то не работает кнопка закрытия загрузчика изображений... справо внизу крестик. :(
Можно исправить ?

и еще...
при загрузке к оригинальному и уменьшенным изображениям добавляется цифровой префикс (на пример : image.jpg переименовывается в e38b35_image.jpg, rez_e38b35_image.jpg и  th_e38b35_image.jpg )
это нормально ? я имею ввиду e38b35
« Последнее редактирование: 06.03.2010, 10:27:27 от goga63 »
*

snowindy

  • Осваиваюсь на форуме
  • 30
  • 3 / 0
Re: Элемент изображений eg_Image 1.1 (ajax upload)
« Ответ #16 : 06.03.2010, 10:37:24 »
Хм, а какой браузер используете?
Где расположен сайт? (локальный сервер или уже у хостера)
После загрузки сама формочка убирается нормально?

Короче, дайте всю дополнительную инфу, пожалуйста.

Да, префиксы это нормально. Так и должно быть.
*

goga63

  • Осваиваюсь на форуме
  • 41
  • 1 / 0
Re: Элемент изображений eg_Image 1.1 (ajax upload)
« Ответ #17 : 06.03.2010, 10:53:29 »
Хм, а какой браузер используете?

точно, проблема в IE с Mozilla  все нормально !
сайт на хостинге agava.
*

snowindy

  • Осваиваюсь на форуме
  • 30
  • 3 / 0
Re: Элемент изображений eg_Image 1.1 (ajax upload)
« Ответ #18 : 06.03.2010, 10:56:40 »
а какой IE?
*

goga63

  • Осваиваюсь на форуме
  • 41
  • 1 / 0
Re: Элемент изображений eg_Image 1.1 (ajax upload)
« Ответ #19 : 06.03.2010, 11:02:10 »
Internet Explorer 7.0.5730.13
*

snowindy

  • Осваиваюсь на форуме
  • 30
  • 3 / 0
Re: Элемент изображений eg_Image 1.1 (ajax upload)
« Ответ #20 : 06.03.2010, 11:58:13 »
Ну попользуйтесь пока файрфоксом...
исправлю этот баг в следующей версии)
*

delames

  • Захожу иногда
  • 141
  • 10 / 0
  • Решаю программные вопросы за $ - Обращайтесь!
Re: Элемент изображений eg_Image 1.1 (ajax upload)
« Ответ #21 : 06.03.2010, 15:32:42 »
Действительно выскакивают артефакты на изображении.. Вот глянь: http://promokurs.ru/videouroki/99-copy/times.html
*

snowindy

  • Осваиваюсь на форуме
  • 30
  • 3 / 0
Re: Элемент изображений eg_Image 1.1 (ajax upload)
« Ответ #22 : 06.03.2010, 15:54:22 »
хмм...
возможно, эта проблема вызвана встроенным ресайзом.
На большинстве изображений проблем не бывает.
Я встречал артефакты когда использовалась macOS и фотошоп при его создании...

попробуйте предварительно конвертнуть изображение через "save as", если оно чужое. Т.е., пересохранить его в том же или другом формате.. Может быть, это вылечит артефакты.
*

delames

  • Захожу иногда
  • 141
  • 10 / 0
  • Решаю программные вопросы за $ - Обращайтесь!
Re: Элемент изображений eg_Image 1.1 (ajax upload)
« Ответ #23 : 06.03.2010, 16:38:31 »
То что с ресайзом - это факт.. Это была гифка. Может ему не нравится этот формат. Но дело в том, что например для меня этот компонент интересен тем что снимает проблему выбора изображения при добавлении материала пользователем. Поэтому нужно чтобы функция ресайза работала стабильно со всеми популярными форматами, по крайней мере bmp, jpg, gif
*

snowindy

  • Осваиваюсь на форуме
  • 30
  • 3 / 0
Re: Элемент изображений eg_Image 1.1 (ajax upload)
« Ответ #24 : 06.03.2010, 17:48:33 »
ну если так уж надо gif - можете посмотреть в исходники функции ресайза и заменить ее на работающую с gif. Выше в этой теме я описывал где глядеть.

jpg, png  и bmp кущаются нормально.

На моей практике, gif в вебе почти не используется для настоящих изображений. - только служебные обрезки (кнопки с красивостями, уголки). Посему и Вам не советую особо полагаться на gif, в силу его ограниченности. Лучше тогда на png.
*

delames

  • Захожу иногда
  • 141
  • 10 / 0
  • Решаю программные вопросы за $ - Обращайтесь!
Re: Элемент изображений eg_Image 1.1 (ajax upload)
« Ответ #25 : 06.03.2010, 19:28:23 »
png весят больше) Попробую.. Короче я так понимаю, на каждый итем это еще + 1 запрос к бд! Слушай, может имеет смысл создать эти 2 поля в в zoo_type_ ? Как это сделано стандартно
*

snowindy

  • Осваиваюсь на форуме
  • 30
  • 3 / 0
Re: Элемент изображений eg_Image 1.1 (ajax upload)
« Ответ #26 : 06.03.2010, 19:35:10 »
да, вполне логично больше интегрироваться с zoo.
учту для следующей версии.
*

delames

  • Захожу иногда
  • 141
  • 10 / 0
  • Решаю программные вопросы за $ - Обращайтесь!
Re: Элемент изображений eg_Image 1.1 (ajax upload)
« Ответ #27 : 06.03.2010, 23:54:10 »
Какая то лажа.. Я пошел простым путем.. Заменил унаследованный класс Simple на SimpleParams.. Определил 2 переменные big и small.
В твоей функции Upload после определения названий ресайзнутых ихображений пишу типа $this->big = $resImgName;

и в самом низу класса добавляю бинд функцию

// init vars
$params   =& $this->getParams();
   
$params->set('imgbig', $this->imgbig);
$params->set('imgsmall', $this->imgsmall);

$this->params = $params->toString();

Записывается это дело стандартно как все элементы в zoo только блин с пустыми переменными $this->imgbig ... И чего они не цепляются )))

Отказывайся от дополнительной таблицы. Используй SimpleParams
« Последнее редактирование: 07.03.2010, 11:23:42 от delames »
*

snowindy

  • Осваиваюсь на форуме
  • 30
  • 3 / 0
Re: Элемент изображений eg_Image 1.1 (ajax upload)
« Ответ #28 : 07.03.2010, 00:15:03 »
я так и не понял, тебе удалось записать данные изображение в тип или нет?
проблема в том, что значения не сохраняются?
*

delames

  • Захожу иногда
  • 141
  • 10 / 0
  • Решаю программные вопросы за $ - Обращайтесь!
Re: Элемент изображений eg_Image 1.1 (ajax upload)
« Ответ #29 : 07.03.2010, 11:22:20 »
вообщем сохнаняется только imgbig = и imgsmall = ..... После = должны быть значения переменных но они пустые почему-то... Не записываются они в функции upload. Попробуй и ты изменить так как я описал.. Может у тебя получится. Bind функцию возьми у ImageElement.
« Последнее редактирование: 07.03.2010, 11:55:41 от delames »
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться
 

Добавление соц кнопок в шаблон? или создание components/com_zoo/views/element/tmpl/?ЭЛЕМЕНТ?

Автор scs

Ответов: 0
Просмотров: 1322
Последний ответ 21.11.2010, 13:43:04
от scs
alt для изображений в ZOO 1.0.6 (решение)

Автор Шмайсер

Ответов: 0
Просмотров: 1124
Последний ответ 01.06.2010, 10:40:45
от Шмайсер
Элемент Related Link

Автор gogoer

Ответов: 0
Просмотров: 904
Последний ответ 15.04.2010, 14:30:52
от gogoer
Элемент Multi Image (галерея ajax)

Автор gogoer

Ответов: 3
Просмотров: 1917
Последний ответ 11.04.2010, 19:34:21
от delames
элемент Checkbox - вывод названия пункта и его значения

Автор yondo

Ответов: 1
Просмотров: 1419
Последний ответ 10.03.2010, 11:15:59
от demon1977