Искать  
 
   
4 из 6
4
File - загрузка файлов  (расширение для EE от Mark Huot)
Отправлено: 11 Апрель 2009 12:12 A.M.   [ Игнорировать ]   [ # 46 ]
Sr. Member
RankRankRankRank
Всего сообщений:  987
Зарегистрирован  2008-09-27

+ можно ли заставить расширение создать две превьюшки. Одну прям супер маленькую и вторую медиум.

Профиль
 
 
Отправлено: 11 Апрель 2009 12:35 A.M.   [ Игнорировать ]   [ # 47 ]
Администратор
Avatar
RankRankRankRank
Всего сообщений:  1423
Зарегистрирован  2007-12-27

http://www.lumis.com/page/imgsizer/

 Подпись 

ExpressionEngine - SEO-ориентированный движок

Профиль
 
 
Отправлено: 14 Апрель 2009 09:07 A.M.   [ Игнорировать ]   [ # 48 ]
Новичок
Rank
Всего сообщений:  16
Зарегистрирован  2009-03-30

А существует ли возможность что бы при удалении публикации удалялись вместе с ней все прикреплённые файлы этой записи, загруженные с помощью данного расширения? Что бы не только с  базы но и сервера удалялось.

Профиль
 
 
Отправлено: 14 Апрель 2009 12:09 P.M.   [ Игнорировать ]   [ # 49 ]
Member
Avatar
RankRankRank
Всего сообщений:  153
Зарегистрирован  2008-08-19
jorik - 14 Апрель 2009 09:07 A.M.

А существует ли возможность что бы при удалении публикации удалялись вместе с ней все прикреплённые файлы этой записи, загруженные с помощью данного расширения? Что бы не только с  базы но и сервера удалялось.

на данный моммент в расширении нет такой возможности. но если существует соответствующий хук, то я думаю можно доработать.

Профиль
 
 
Отправлено: 20 Апрель 2009 11:43 P.M.   [ Игнорировать ]   [ # 50 ]
Администратор
Avatar
RankRankRankRank
Всего сообщений:  1423
Зарегистрирован  2007-12-27

Кто подскажет, как организовать вывод только одной картинки, в случае, если закачано несколько картинок в одном поле?

 Подпись 

ExpressionEngine - SEO-ориентированный движок

Профиль
 
 
Отправлено: 21 Апрель 2009 11:53 A.M.   [ Игнорировать ]   [ # 51 ]
Sr. Member
RankRankRankRank
Всего сообщений:  987
Зарегистрирован  2008-09-27

я думаю как-то так:

{photos_all}
{if 
"{count}" == "1"}{file_url}{/if}
{
/photos_all} 
Профиль
 
 
Отправлено: 21 Апрель 2009 12:27 P.M.   [ Игнорировать ]   [ # 52 ]
Администратор
Avatar
RankRankRankRank
Всего сообщений:  1423
Зарегистрирован  2007-12-27
maximus007 - 21 Апрель 2009 11:53 A.M.

я думаю как-то так:

{photos_all}
{if 
"{count}" == "1"}{file_url}{/if}
{
/photos_all} 

пробовал, не работает

 Подпись 

ExpressionEngine - SEO-ориентированный движок

Профиль
 
 
Отправлено: 21 Апрель 2009 12:40 P.M.   [ Игнорировать ]   [ # 53 ]
Sr. Member
RankRankRankRank
Всего сообщений:  987
Зарегистрирован  2008-09-27
<?php $count 0?>
{photos_all}
<?php 
if($count == 0{ ?>{file_url}<?php } $count++; ?>
{
/photos_all} 
Профиль
 
 
Отправлено: 21 Апрель 2009 04:58 P.M.   [ Игнорировать ]   [ # 54 ]
Администратор
Avatar
RankRankRankRank
Всего сообщений:  1423
Зарегистрирован  2007-12-27
maximus007 - 21 Апрель 2009 12:40 P.M.
<?php $count 0?>
{photos_all}
<?php 
if($count == 0{ ?>{file_url}<?php } $count++; ?>
{
/photos_all} 

выводит все изображения

 Подпись 

ExpressionEngine - SEO-ориентированный движок

Профиль
 
 
Отправлено: 22 Апрель 2009 01:11 A.M.   [ Игнорировать ]   [ # 55 ]
Member
Avatar
RankRankRank
Всего сообщений:  153
Зарегистрирован  2008-08-19
mrtt - 21 Апрель 2009 04:58 P.M.

выводит все изображения

а как на счет:

{photos} 
Профиль
 
 
Отправлено: 23 Июнь 2009 11:36 P.M.   [ Игнорировать ]   [ # 56 ]
Новичок
Rank
Всего сообщений:  18
Зарегистрирован  2009-06-14

Подскажите пожалуйста, можно ли загружать картинки в случайные каталоги, имя каталога например случайное трехзначное число.

путь должен выглядеть как то так:

/images/uploads/659/
или
/images/uploads/174/
...


Потребность возникла из-за того, что со временем будет загружено большое количество картинок, и каталог переполнится файлами.

Профиль
 
 
Отправлено: 24 Июнь 2009 09:58 A.M.   [ Игнорировать ]   [ # 57 ]
Member
Avatar
RankRankRank
Всего сообщений:  325
Зарегистрирован  2008-06-16
mrtt - 21 Апрель 2009 12:27 P.M.
maximus007 - 21 Апрель 2009 11:53 A.M.

я думаю как-то так:

{photos_all}
{if 
"{count}" == "1"}{file_url}{/if}
{
/photos_all} 

пробовал, не работает

А может так правильнее?

{photos_all}
{if count 
== "1"}{file_url}{/if}
{
/photos_all} 
 Подпись 

Всё что делается - не всё нами принимается...

Профиль
 
 
Отправлено: 29 Июнь 2009 11:22 P.M.   [ Игнорировать ]   [ # 58 ]
Новичок
Rank
Всего сообщений:  18
Зарегистрирован  2009-06-14
Didia_Sc - 23 Июнь 2009 11:36 P.M.

Подскажите пожалуйста, можно ли загружать картинки в случайные каталоги, имя каталога например случайное трехзначное число.

путь должен выглядеть как то так:

/images/uploads/659/
или
/images/uploads/174/
...


Потребность возникла из-за того, что со временем будет загружено большое количество картинок, и каталог переполнится файлами.

Просмотрел кучу форумов и постов но решения что-то не нашел.
Может надо как то использовать
Админ.  ›  Администрирование блогов  ›  Настройки загрузки файлов  ›  Редактировать настройки загрузки файлов

Поле: Предформатирование файла / Постформатирование файла

или какой то хитрый тег вставить в поле:  Путь на сервере к директории загрузки
который бы рандомил имя каталога и создавал его.

нид хелп.

Спасибо.

Профиль
 
 
Отправлено: 30 Июнь 2009 12:32 P.M.   [ Игнорировать ]   [ # 59 ]
Member
Avatar
RankRankRank
Всего сообщений:  153
Зарегистрирован  2008-08-19

Didia_Sc
лучший выход был бы отредактировать расширение. Надо найти строку, где формируется путь к картинке и добавить к нему в конце, например, entry_id.
таким образом, у тебя будут папочки с ID записи (удобно если по многу картинок загружаешь к каждой записи)
в противном случаем добавляй не entry_id, а например год+месяц
Удачи wink

Профиль
 
 
Отправлено: 02 Июль 2009 09:53 P.M.   [ Игнорировать ]   [ # 60 ]
Новичок
Rank
Всего сообщений:  18
Зарегистрирован  2009-06-14

Приветствую,

немного допилил расширение File ext, результат 4 дневного знакомства с EE в аттаче.
Для работы функций требуется PHP5 - это даёт возможность использовать рекурсивное создание каталогов.
В функции function DLFN_Create_Directory_By_Path нужно допилить рекурсивный chmod для случая когда PHP-сценарий запущен модулем mod_php
я в принципе обошелся без рекурсивного создания каталогов.

если не затруднит прокомментируйте пожалуйста.

добавленные/дополненные строки:

Строки 61-126

/**
     * Получаем дату публикации в виде ассоциативного массива по id-поста (entry_id)
     * Если есть пост таким entry_id то возвращаем $Entry_Date_Array["yyyy"=>[год],"mm"=>[месяц],"dd"=>[день]]
     * Иначе возвращаем False (by Didia_Sc)
    **/
    
function DLFN_Get_Entry_Date_by_entry_id($entry_id=FALSE)
    
{
        
global $DB;

        if (
$entry_id !== FALSE && is_numeric($entry_id))
        
{
            $query 
$DB->query("SELECT t.year, t.month, t.day FROM exp_weblog_titles t WHERE t.entry_id = '".$DB->escape_str($entry_id)."'");
            
            if (
$query->num_rows 1)
            
{
                
return FALSE;
            
}
            
else
            
{
                
                $Entry_Date_Array[
"yyyy"$query->row['year'];
                
$Entry_Date_Array["mm"$query->row['month'];
                
$Entry_Date_Array["dd"$query->row['day'];
                return 
$Entry_Date_Array;
            
}
        }
        
else
        
{
                
return FALSE;
        
}
    }


    
/**
    * Создание каталога по переданному пути. (by Didia_Sc)
    * Возвращается False если тип переменной $path не строковый.
    * для работы функции требуется PHP5 - это даёт возможность использовать рекурсивное создание каталогов.
    **/
    
function DLFN_Create_Directory_By_Path($path=FALSE)
        
{
        
if(preg_match("/^5\./",phpversion()))
            
{
                
if(is_string($path)){
                    
if (file_exists($path)) {
                        
return "Директория $path существует";
                    
else {
                        
if(mkdir($path0777TRUE)){
                            
/**
                                стоит допилить рекурсивный chmod для случая когда PHP-сценарий запущен модулем mod_php
                            **/
                            
chmod($path0777);
                            return 
"Создана директория $path";
                        
}
                        else{
                            
return false;
                        
}
                    }
                }
                else{
                    
return false;
                
}
            }
        else{
            
return false;
            
}
        }


[b]576
-577[/b]
[code]
        
// Добавил глобальную переменную $IN - by Didia_Sc
        
global $DB$DSP$EXT$LANG$PREFS$IN

598-601

// Добавить к переменной server_path и file_field['url'] дополнительное имя каталога, формат каталога для файлов [yyyymm/] - by Didia_Sc
            
$va_entry_date $this->DLFN_Get_Entry_Date_by_entry_id($IN->GBL('entry_id'));
            
$vs_entry_date $va_entry_date["yyyy"].$va_entry_date["mm"]."/";
            
$file_field['url'.= $vs_entry_date


750-751

// Добавил глобальную переменную $IN - by Didia_Sc
        
global $DB$EE$EXT$FNS$LANG$IN

781-787

// Добавить к переменной server_path и file_field['url'] дополнительное имя каталога, формат каталога для файлов [yyyymm/] - by Didia_Sc
                
$va_entry_date $this->DLFN_Get_Entry_Date_by_entry_id($IN->GBL('entry_id'));
                
$vs_entry_date $va_entry_date["yyyy"].$va_entry_date["mm"]."/";
                
$server_path .= $vs_entry_date;
                
                
// Создаем дополнительный каталог каталог если он не существует - by Didia_Sc
                
$this->DLFN_Create_Directory_By_Path($server_path); 


1240-1242

// Получаем дополнительное имя каталога, формат каталога для файлов [yyyymm/] - by Didia_Sc
            
$va_entry_date $this->DLFN_Get_Entry_Date_by_entry_id($row['entry_id']);
            
$vs_entry_date $va_entry_date["yyyy"].$va_entry_date["mm"]."/"

1259-1260

// Добавить к переменной $file дополнительное имя каталога, формат каталога для файлов [yyyymm/] - by Didia_Sc
                    
$thumbs[] $vs_entry_date.$file

1270-1271

// Добавить к переменной $file дополнительное имя каталога, формат каталога для файлов [yyyymm/] - by Didia_Sc
                    
$files[] $vs_entry_date.$file

1327-1329

// Добавить к переменной server_path и file_field['url'] дополнительное имя каталога, формат каталога для файлов [yyyymm/] - by Didia_Sc
                    
$file_field['url'.= vs_entry_date;
                    
$file_field['server_path'.= vs_entry_date


Первые впечатления о expression engine не самые хорошие.

по моему применялся какой то карявый шаблон проектирования.

во многих файлах встречаются и SQL запросы и куски верстки, кошмар какой то.

однотипные обработки запросов реализованы разными способами, как будто каждый новый разработчик придерживался своего кодестайла.

найти нормальную документацию по обработке глобальных переменных и описание методов и классов я так и не смог.
если это секрет то ElisLab могли бы создать низкоуровневое API и документацию к нему создать.

Есть косяки в ядре ExpressionEngine_1.6.7_Build.20090211 вот например:

core.functions.php

$sql "SELECT t.entry_id, t.weblog_id, ... t.entry_date, t.year, t.month, t.day, t.entry_date....... 

как то безалаберно на мой взгляд.

Если сравнить с CI где и красивая MVC модель, и огромное количество качественной документации, большое количество аддонов, простота понимания кода, то EE на мой взгляд явно позади.

А если учесть, что за EE еще и берут деньги, причем не малые, то по моему выбор ясен.

надеюсь, что вы как эксперты EE меня переубедите.

Приложения с файлами
ext.file_311_additional_folder_Didia_Sc.zip  (Размер файла: 11KB - Загрузок: 459)
Профиль
 
 
   
4 из 6
4
 
     LG Member Form Customiser ››