Новости Joomla

joomLab Gallery - плагин галереи изображений для Joomla

👩‍💻 joomLab Gallery - плагин галереи изображений для Joomla.Плагин joomLab Gallery позволит Вам добавлять в любой материал неограниченное количество галерей, а главное удобно управлять файлами и эффектами в каждой галерее.Плагин использует популярны скрипты Swiper.js и FancyBox. Первый для крутой организации и эффектов галерей, а второй для красивого и функционального показа оригинальных изображений на Вашем сайте.На данный момент плагин имеет 10 макетов вывода - это 10 различных эффектов галерей и Вы можете совмещать все 10 в 1 материале.Плагин позволяет гибко настраивать индивидуально каждую галерею в материале. Вы можете выбрать макет, эффекты и даже можете управлять функциями всплывающего окна изображения.Недостатки.Такой вид реализации не предусматривает выбор изображения на сервере. Т.е. Вы не можете выбрать уже добавленное фото, только загружать заново. Плагин не предоставляет возможности доступа к медиа-менеджеру.Плагин бесплатный. Разработчик - участник нашего сообщества Александр Новиков (@pro-portal).Страница расширения@joomlafeed#joomla #расширения

Готовлю большой выпуск, включающий интервью с участниками Joomla Ну что, интересная инициатива от...

Готовлю большой выпуск, включающий интервью с участниками Joomla Ну что, интересная инициатива от...

Готовлю большой выпуск, включающий интервью с участниками Joomla 🖨Ну что, интересная инициатива от @webtolkru в виде интервью с разными участниками весьма меня увлекла. Я, вооружившись данным примером, решил подготовить выпуск для NorrNext (@norrnext) и экстраполировал идею на международный масштаб. Теперь готовлю эксклюзивный выпуск с участниками Joomla сообщества со всего мира, которые, в той или иной мере, внесли свой вклад в развитие и популяризацию системы. Будут беседы с людьми из разных стран и фото с юбилейной символикой 📸Работа в процессе 👆 📝О результатах оповещу отдельно.

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

AlexSims

  • Захожу иногда
  • 314
  • 38 / 0
  • кручу верчу
Адс версия - 2.2.1

Что то затупил мозг ( давно не копал Адс).
Решил вывести в список под каждым объявлением кол-во фото внутри объявления.

-Вывести данные не проблема ( проблема их получить при сохранении - обновлении объявления ).
-Переменную создал. $row->ad_countfoto

А вот в функции function save_ad где и происходит сохр-обновл никак не получается..

Код - не срабатывает  ( вообще срабатывает если только в самом начале функции задать переменной значение)
Код
if (isset( $_FILES["ad_picture$i"])){
        $row->ad_countfoto = 0;
            $arr_count = 0;
            for($d = 0 ;$d < count($_FILES["ad_picture$i"]); $d++)
            {
            $cv_err = $_FILES["ad_picture$i"][$d]['error'];
            if($cv_err === 0)
                 {
                 $arr_count++;
                 }
            else { echo "ничего не загрузилось";}
            }
          }
         $row->ad_countfoto = $arr_count;

ни перед, ни после того как "делаются" фото.
 
Код
if (isset( $_FILES["ad_picture$i"]) and !$_FILES["ad_picture$i"]['error'] ) {
        
createImageAndThumb($_FILES["ad_picture$i"]['tmp_name'],$row->id.$ext_name.".jpg",$row->id.$ext_name."_t.jpg",
$conf->max_width,
$conf->max_height,
$conf->max_width_t,
$conf->max_height_t,
$conf->tag,
$mosConfig_absolute_path."/images/$option/images/",
$_FILES["ad_picture$i"]['name']);


          

        
}


Если кто реализовал подобное - был бы рад.

Или по крайней мере толкните в нужную сторону
« Последнее редактирование: 12.02.2014, 11:32:55 от AlexSims »
С фантазией плохо.
*

AlexSims

  • Захожу иногда
  • 314
  • 38 / 0
  • кручу верчу
Практически решил, осталась загвоздка с поиском в строке по id объявлению

конструкция ниже считает только или по расширению или по вхождению определенного символа - типо _t.jpg,
а такой вариант $row-id."*_t.jpg"  или "500*_t.jpg"  ее не устраивает ( уже голову сломал).


Код
while(False !== ($file = readdir($dir))){
                  if(strpos($file, $z)){
                    $k++;
                  }
                  else echo "Ошибка";
            }
            closedir("$path");
С фантазией плохо.
*

AlexSims

  • Захожу иногда
  • 314
  • 38 / 0
  • кручу верчу
вот код может кто доведет до ума ( проблема с поиском в строке)

Код
///подсчет кол-ва фото

            $path = $mosConfig_absolute_path."/images/$option/images/";
            $dir  = opendir("$path");
 //           $z = $row->id."*_t.jpg"; /* не пашет */
            $z = '673a_t.jpg'; /*пашет только находит 1673a_t.jpg или 2673a_t.jpg  , а вот 673a_t.jpg не находит */
            $k    = 0;   
            while(False !== ($file = readdir($dir))){
                  if(stripos($file, $z, 0)){
                    $k++;
                  }
                  else echo "Ошибка";
            }
            closedir("$path");
            echo $k;
           
    //Обновление данных в базе
            $query = ' UPDATE #__adsmanager_ads '
                     .' SET `ad_countfoto` = '.$k
                     .' WHERE id = '.$row->id;

    if ($first != 0)
{
$database->setQuery( $query);
$database->query();
}

вставляется после кода в функцию save_ad ( строка 1513 где-то)

Код
	if (isset( $_FILES["ad_picture$i"]) and !$_FILES["ad_picture$i"]['error'] ) {
       
createImageAndThumb($_FILES["ad_picture$i"]['tmp_name'],$row->id.$ext_name.".jpg",$row->id.$ext_name."_t.jpg",
$conf->max_width,
$conf->max_height,
$conf->max_width_t,
$conf->max_height_t,
$conf->tag,
$mosConfig_absolute_path."/images/$option/images/",
$_FILES["ad_picture$i"]['name']);


           

       
}

}
С фантазией плохо.
*

AlexSims

  • Захожу иногда
  • 314
  • 38 / 0
  • кручу верчу
Вот же блин
если $r = 736, то считает все правильно в папке (32 совпад.  ),
а если 6736, то не считает ( хотя должно быть 3 совпадения)
не пойму в чем косяк
Код
           $path = $mosConfig_absolute_path."/images/$option/images/";
//открываем директорию
            $dir  = opendir("$path");
 
            $k    = 0;  
            $r = 6736;
//значение паттерна id объявление+все буквы кроме _t
            $name = '/('.$r.')[a-z^_t].jpg/';
            
//цикл открытия директории и чтения всех файлов
            while(($file = readdir($dir))!== false ){
//если фаил соответствует паттерну то пихаем его в массив $a
                      if(preg_match($name, $file, $a)){
//находим первое вхождение из массива в нулевой позиции в строке, если есть то +1
                         if(strpos($file, $a[0])){
                        $k++;
                        }
//если нет то к=0
                        else
                        { echo "Ошибка";  $k = 0;   }
                     }                  
           }    
//заканчивается цикл, закрывается директория                  
            closedir("$path");
« Последнее редактирование: 11.02.2014, 02:55:59 от AlexSims »
С фантазией плохо.
*

AlexSims

  • Захожу иногда
  • 314
  • 38 / 0
  • кручу верчу
Так как советов не дождался решил на сколько хватило ума ( только почему-то пару объявлений так и не находит и пишет 0, большинство находит). Если спецы заглянуть - может объяснят

Код
 
           $path = $mosConfig_absolute_path."/images/$option/images/";
//открываем директорию
            $dir  = opendir("$path");
 
            $k = 0;   
//цикл открытия директории и чтения всех файлов
            while(false !== ($file = readdir($dir))){
//если фаил соответствует паттерну то пихаем его в массив $a
                        if (preg_match("/^".$row->id."[a-z^_t].jpg/", $file, $a)) {
//находим первое вхождение из массива в нулевой позиции в строке, если есть то +1
                         if (strpos($file, $a[0][1])){
                            $k++;
                            }
                        else { echo "Ошибка";}
                                        }
           }   
//заканчивается цикл, закрывается директория                 
            closedir("$path");
   
    //Обновление данных в базе
            $query = ' UPDATE #__adsmanager_ads '
                     .' SET `ad_countfoto` = '.$k
                     .' WHERE id = '.$row->id;

    if ($first != 0)
{
$database->setQuery( $query);
$database->query();
}

С фантазией плохо.
*

Fedor Vlasenko

  • Живу я здесь
  • 3845
  • 733 / 7
  • https://fedor-vlasenko.web.app
кол-во фото внутри объявления ?
а чего не сделать с помощью js 3 строчки кода и никаких лишних движений
http://learn.javascript.ru/play/syqs5b
*

AlexSims

  • Захожу иногда
  • 314
  • 38 / 0
  • кручу верчу
вопрос со всеми тоже решился - почти есть еще глюки на некоторых объяваъ( было лишнее условие  if ($first != 0) ). Видимо с некоторыми объявлениями оно не выполнялось.
Остался вопрос с производительностью кода.
« Последнее редактирование: 11.02.2014, 16:44:53 от AlexSims »
С фантазией плохо.
*

AlexSims

  • Захожу иногда
  • 314
  • 38 / 0
  • кручу верчу
кол-во фото внутри объявления ?
а чего не сделать с помощью js 3 строчки кода и никаких лишних движений ( не знаком с js вообще)
Нет не внутри - внутри я и простым счетчиком посчитать смог бы. Там как раз цикл при показе выполняется.
Проблема была при сохранении-обновлении посчитать все фото к данному объекту и в переменную поместить.
(упорно не считалось с начала строки или не так складывалось )

« Последнее редактирование: 11.02.2014, 16:55:58 от AlexSims »
С фантазией плохо.
*

AlexSims

  • Захожу иногда
  • 314
  • 38 / 0
  • кручу верчу
кол-во фото внутри объявления ?
а чего не сделать с помощью js 3 строчки кода и никаких лишних движений
http://learn.javascript.ru/play/syqs5b

Спасибо за совет - может разберусь
С фантазией плохо.
*

AlexSims

  • Захожу иногда
  • 314
  • 38 / 0
  • кручу верчу
Проблема с поиском фото к некоторым объявлениям так и не решилась ( то находит, то не находит - хрен знает в чем глюк).

изменил strpos на strrpos ( вроде пока все ок - но надо тестить )

по времени этот конструктив при поиске 15 фото занимает - 0,04947сек ( не знаю пока как ускорить)

Осталось за малым - придумать как по всей базе объектов пройтись чтоб все посчитать ))))
« Последнее редактирование: 12.02.2014, 07:00:04 от AlexSims »
С фантазией плохо.
*

AlexSims

  • Захожу иногда
  • 314
  • 38 / 0
  • кручу верчу
Добавил изменения - удаление лишних фото
( так как раньше было много фоток на объект - более 30, а щас стало 15. Чтоб удаляло все что свыше установленных в конфиге)

Код
///подсчет кол-ва фото   


           $path = $mosConfig_absolute_path."/images/$option/images/";
//открываем директорию
            $dir  = opendir("$path");
            $k = 0;  
//цикл открытия директории и чтения всех файлов
            while(false !== ($file = readdir($dir))){
//если фаил соответствует паттерну то пихаем его в массив $a
                        if (preg_match("/^".$row->id."[a-z^_t].jpg/", $file, $a)) {
//находим первое вхождение из массива в нулевой позиции в строке, если есть то +1
                         if (strrpos($file, $a[0][1])){ $k++;}
                         else  { $k=99;}
                    }
           }    
//заканчивается цикл, закрывается директория                  
            closedir("$path");
    //Обновление данных в базе

/// если остались старые фото которых больше чем в конфиге - было 30 стало 15
        if ($k > $nbImages){
            for($i = $nbImages; $i < $k; $i++)
             {
       $ext_name = chr(ord('a')+$i-1);
// image1 delete

$pict = $mosConfig_absolute_path."/images/$option/images/".$row->id.$ext_name."_t.jpg";
if ( file_exists( $pict)) {
unlink( $pict);
}
$pic = $mosConfig_absolute_path."/images/$option/images/".$row->id.$ext_name.".jpg";
if ( file_exists( $pic)) {
unlink( $pic);
    }
            }
            $k = $nbImages;
        }


            $query = ' UPDATE #__adsmanager_ads '
                     .' SET `ad_countfoto` = '.$k
                     .' WHERE id = '.$row->id;
// if ($first != 0){
   $database->setQuery($query);
   $database->query();
//}

Вроде бы все верно ( но косяки могут всплыть)

Если хотите чтоб при редактировании в админке, тоже считалось и удалось - то нужно сделать и там изменения
« Последнее редактирование: 16.02.2014, 10:56:04 от AlexSims »
С фантазией плохо.
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться
 

AdsManager вывод нужных полей по отдельности

Автор klekovkinandrey

Ответов: 2
Просмотров: 14249
Последний ответ 06.04.2024, 09:54:15
от Rinat abzyi
Вывод данных

Автор FlexNL

Ответов: 0
Просмотров: 2701
Последний ответ 06.11.2021, 12:37:54
от FlexNL
Вывод картинки поля "radioimage"

Автор Pavel

Ответов: 7
Просмотров: 3481
Последний ответ 12.03.2019, 16:23:10
от Pavel
Вывод объявлений в случайном порядке

Автор Sabotage

Ответов: 3
Просмотров: 1564
Последний ответ 28.09.2018, 14:21:05
от Sabotage
Вывод "Классифицированные объявления" вместо меню на всех страницах

Автор d.im_a

Ответов: 3
Просмотров: 2037
Последний ответ 01.07.2017, 15:33:16
от d.im_a