We launched new forums in March 2019—join us there. In a hurry for help with your website? Get Help Now!
    • 28957
    • 122 Posts
    Quote from: Cx2 at Mar 23, 2008, 06:59 PM

    Если поставишь 0, получишь 0 изображений.
    Ставь большое число, например 1000.
    Ок с этим понятно.

    Появились 2 задачи:
    1. Чтобы созранялись превьюшки разных размеров.
    2. Чтобы выводилось несколько случайных картинок из галлереи.
    Поэтому сделал быстро патчик(код быстро написан, возможны ошибки), если интересно его можно включить под какими-нибудь опциями, например "Сохранять эскизы разных размеров", "Вывод случайных эскизов".

    Случайные изменения вызываются так [!easy2? &orderby=`rand()` &limit=`2` &h=`150` &w=`150`!]

    Кстате из-за того, что в версии 1.1 появился в снипете код mysql_close(); echo $out; этот снипет не получается вызывать несколько раз.

    вот изменения:
    Index: snippet.easy2gallery.php
    ===================================================================
    --- snippet.easy2gallery.php	(revision 92)
    +++ snippet.easy2gallery.php	(working copy)
    @@ -43,7 +43,7 @@
     
     // ORDER BY
     $orderby = (empty($orderby)) ? $e2g['orderby'] : $orderby;
    -$orderby = preg_replace('/[^_a-z]/i', '', $orderby);
    +$orderby = preg_replace('/[^_()a-z]/i', '', $orderby);
     
     // ORDER
     $order = (empty($order)) ? $e2g['order'] : $order;
    @@ -57,6 +57,7 @@
     
     if ($glib == 'highslide') {
         $modx->regClientStartupScript('assets/modules/easy2/libs/highslide/highslide-with-html.js', 0);
    +    $modx->regClientStartupScript('assets/modules/easy2/libs/highslide/russian.highslide.js', 0);
         $modx->regClientStartupScript('<script type="text/javascript">
     hs.graphicsDir = "assets/modules/easy2/libs/highslide/graphics/";
     hs.outlineType = "rounded-white";
    @@ -70,8 +71,10 @@
     if ($gid > 1) $path = get_path($gid, 1);
     else $path = '';
     
    +if ($orderby=='rand()'){
    +  return get_rand_pics($orderby, $order, $limit, $w, $h, $thq); 
    +} 
     
    -
     $out = '<table cellspacing="20" class="easy2">';
     $i = 0;
     
    @@ -157,15 +160,16 @@
         $out .= '</div>';
     }
     
    -mysql_close();
    +//mysql_close();
     
    -echo $out;
    +//echo $out;
    +return $out;
     
     function get_thumb ($gdir, $path, $w = 150, $h = 150, $thq=80, $resize_type = 'inner') {
     
         if (empty($path)) return false;
     
    -    $thumb_path = '_thumbnails/'.substr($path, 0, strrpos($path, '.')).'.jpg';
    +    $thumb_path = '_thumbnails/'.substr($path, 0, strrpos($path, '.')).'.'.$w.'x'.$h.'.jpg';
     
         if (!file_exists($gdir.$thumb_path) && file_exists($gdir.$path)) {
     
    @@ -265,3 +269,33 @@
     
         return $result;
     }
    +
    +function get_rand_pics($orderby, $order, $limit, $w, $h, $thq){
    +    global $modx;
    +
    +    require './assets/modules/easy2/config.easy2gallery.php';
    +
    +    $out .= '<ul>';
    +
    +    // RANDOM PICS
    +    $q = 'SELECT * FROM '.$modx->db->config['table_prefix'].'easy2_files '
    +    . 'WHERE status = 1 '
    +    . 'ORDER BY '.$orderby.' '.$order.' '
    +    . 'LIMIT '.($gpn * $limit).', '.$limit;
    +    $res = mysql_query($q);
    +
    +    while ($l = mysql_fetch_array($res, MYSQL_ASSOC)) {
    +        $pos = strrpos($l['filename'], '.');
    +        $ext = substr($l['filename'], $pos);
    +        // '.$e2g['dir'].$path.$l['id'].$ext.'
    +        $out .= '
    +<li>
    +<a href="[~9~]" ><img src="'.get_thumb($e2g['dir'], get_path($l['dir_id'], true).$l['id'].$ext, $w, $h, $thq).'" alt="'.$l['name'].'" title="'.$l['name'].'" /></a>
    +</li>
    +';
    +    }
    +
    +    $out .= '</ul>';
    +    return $out;
    + 
    +}
    

      suvit
      РROGWAY
      • 21571
      • 3 Posts
      при установке и на сервере и на локалке выдаёт следующее:

      Директория создана
      Таблица modx_easy2_dirs успешно создана.

      Данные в таблицу modx_easy2_dirs не добавлены.
      You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near ’0,’Easy 2’,1)’ at line 1

      Версия mysql 5.0.26, подскажите в чём проблема может быть?
        • 6187
        • 85 Posts
        nineinchnail, попробуй замени файл index.php в папке install на этот:
        http://e2g.info/index.rar
        Если эта ошибка пропадет, то не факт что дальше все пойдет гладко, но я буду знать, что нужно исправить.

        2 suvit, про рандомный вывод думал, обязательно его сделаю в след версиях.
        Соглавсен mysql_close() там ни к чему.
        И про разные размеры хорошая идея.

        ПС
        Помог бы кто с переводом на ENG rolleyes
          [table][tr][td][img]http://e2g.info/images/e2gbanner.gif[/img][/td][td]Home Site
          Forum Russian[/td][td]|
          |
          |[/td][td]Мои любимые сайты:
          Домашний спирт завод своими руками![/td][/tr][/table]
          • 21571
          • 3 Posts
          Quote from: Cx2 at Mar 24, 2008, 08:07 PM

          спасибо,вроде заработало, буду ковырять
          единственный вопрос на папки gallery и thumbnails  я поставил разрешения 777, какеи разрешения рекомендуете поставить?
          При попытке создать директории пишет ошибку Parent ID not found (INSERT)
          При каждой очистке кэша файлы из директории тамбнеёлс стираются
            • 6187
            • 85 Posts
            nineinchnail, галерея не будет у тебя корректно работать, жди след обновления.
            Это происходит из-за то, что в запросах целочисленные данные без кавычек.
              [table][tr][td][img]http://e2g.info/images/e2gbanner.gif[/img][/td][td]Home Site
              Forum Russian[/td][td]|
              |
              |[/td][td]Мои любимые сайты:
              Домашний спирт завод своими руками![/td][/tr][/table]
              • 6871
              • 13 Posts
              1. Инсталляция прошла криво, почему то сниппет easy2 записался наполовину  ???
              2. Зачем в инсталляции стоит UPDATE модуля - он тоже криво перезаписался  ???

              3. В сниппете 107 и 134 строки, в тег img добавь width="’.$w.’" height="’.$h.’" (полезная вещь)
              4. 2 suvit Приведите примеры галерей где используются на разных страницах различного размера эскизы (превьюшки), думаю это лишнее, а для отдельных изображений можно использовать DirectResize http://modxcms.com/forums/index.php/topic,19235.0.html
              5.  "рандомный вывод" - думаю тоже не очень ценен для посетителя, особенно для повторно зашедшего в галерею и недоумевающего в поиске нужной фоты  >:( Куда лучше сделать отдельный сниппет easy2random для вывода (например на главной странице) случайной фоты с переходом в галерею.
              6. [TIP/СОВЕТ] Всегда считал, что необходимо по максимуму упрощать работу редактора сайта и не загружать его тегами, сниппетами и чанками. Поэтому небольшой примерчик который можно подстроить под свои нужды. Создаём шаблон с галереей и пишем например под(вместо) [*#content*] следующее [!easy2?&gid=`[*gallery_id*]`!]. Создаём новый TV, где Имя параметра: gallery_id , Тип ввода: DropDown List Menu , Возможные значения: @SELECT cat_name, cat_id FROM prefix_easy2_dirs (по умолчанию prefix = modx). Привязываем этот TV к шаблону галереи и при создании нового документа получаем выпадающий список всех созданных директорий в галерей.

              P.S. Ни у кого нету модуля управления баннерами и просмотра статистики кликов, а также сниппета к этому делу?
                • 6187
                • 85 Posts
                Dead_Pingwin, какой у тебя сервер, версия, версия ПХП, версия СУБД, версия MODx.
                Полагаю, MySQL версии 5.0.х из-за этого половина запросов не выполняются.

                Обновление модуля стоит, т.к. его код тоже совершенствуется.
                В след версии сделаю инструкции ручной установки и обновления wink

                Рандомный вывод сделать не составит особого труда и благодаря этому можно будет выводить одну рандомную картинку, например на главной странице, без дополнительного сниппета.
                  [table][tr][td][img]http://e2g.info/images/e2gbanner.gif[/img][/td][td]Home Site
                  Forum Russian[/td][td]|
                  |
                  |[/td][td]Мои любимые сайты:
                  Домашний спирт завод своими руками![/td][/tr][/table]
                  • 4856
                  • 55 Posts
                  У меня при установке (кнопка Установить в MODx) выдавалась ошибка проверьте SQL запрос на добавление в таблицу easy2_dirs (.... 0,’Easy 2’,1).
                  Решил следующим образом:
                  assets/modules/index.php, стр. 88

                  $res = mysql_query(’SELECT cat_right FROM ’.$GLOBALS[’table_prefix’].’easy2_dirs WHERE cat_id=1’);
                  if ($res) {
                  list($r) = mysql_fetch_row($res);
                  if (!$r) $r = 2; // добавлено
                  } else {
                  $r = 2;
                  }
                    • 6187
                    • 85 Posts
                    Понял в чем дело было ...
                    Не доглядел rolleyes

                    Вот более правильное решение:
                    if (mysql_num_rows($res) > 0) {
                            list($r) = mysql_fetch_row($res);
                        } else {
                            $r = 2;
                        }
                      [table][tr][td][img]http://e2g.info/images/e2gbanner.gif[/img][/td][td]Home Site
                      Forum Russian[/td][td]|
                      |
                      |[/td][td]Мои любимые сайты:
                      Домашний спирт завод своими руками![/td][/tr][/table]
                      • 4735
                      • 51 Posts
                      Очень даже ничего! wink почет и уважуха Cx2! Поставилось без проблем, работает на ура, полет нормальный.
                        Интернет-магазин стильной мужской одежды - http://www.dotmind.ru