Всего 122 741 комментарий

Владимир
04 мая 2015, 18:49
0
Снипет randomImage
отсюда modx.com/extras/package/revoutilities
<?php
/**
 * 
 * A utilities snippet for MODX Revolution
 * 
 * This snippet will return a random image path from a given folder/directory 
 * 
 * @package RevoUtilities
 * 
 * useage
 * [[!randomImage? &folder=`assets/content/images/`]]
 * 
 */

 /**
 * display a random image for a selected directory
 */
$image_path = '';

/**
 * 1. get all of the image files in the directory
 * 2. randomly pick one and send the path back
 */
$base_url = $modx->getOption('folder', $scriptProperties, 'assets/content/backgrounds/');

//$site_path = str_replace('core/', '', $modx->getOption('core_path'));
$current_dir = MODX_BASE_PATH.$base_url;// this is the base 

$allowed_types = array('gif', 'jpeg', 'jpg', 'png');

$file_type_array = array(
        # documents
        'doc' =>'application/msword',
        'docx' =>'application/msword',
        //'docx' => 'application/vnd.openxmlformats-officedocument.wordprocessingml.document',
        'rtf' => 'application/rtf',
        'txt' => 'text/plain',
        'pdf' => 'application/pdf',
        # powerpoint
        'pot' => 'application/mspowerpoint',
        'pps' => 'application/mspowerpoint',
        'ppt' => 'application/mspowerpoint',
        'ppz' => 'application/mspowerpoint',
        # excel
        'csv' => 'application/x-msdownload',
        'xlc' => 'application/vnd.ms-excel',
        'xls' => 'application/vnd.ms-excel',
        # web images
        'gif' => 'image/gif',
        'jpeg' => 'image/jpeg',
        'jpg' => 'image/jpeg',
        'png' => 'image/png', 
        'tif' => 'image/tiff',
        'tiff' => 'image/tiff',
        # web files
        'css' => 'text/css',
        'htm' => 'text/html',
        'html' => 'text/html',
        'xml' => 'text/xml',
        'js' => 'application/x-javascript',
        # video
        'avi' => 'video/x-msvideo',
        'dl' => 'video/dl',
        'fli' => 'video/fli',
        'fli' => 'video/x-fli',
        'flv' => 'video/flv',
        'gl' => 'video/gl',
        'mp2' => 'video/mpeg',
        'mpe' => 'video/mpeg',
        'mpeg' => 'video/mpeg',
        'mpg' => 'video/mpeg',
        'mov' => 'video/quicktime',
        'qt' => 'video/quicktime',
        'viv' => 'video/vnd.vivo', 
        'vivo' => 'video/vnd.vivo', 
        'wmv' => 'video/x-ms-wmv',
        'wmx' => 'video/x-ms-wmx',
        'wvx' => 'video/x-ms-wvx',
        'asf' => 'video/x-ms-asf',
        'asx' => 'video/x-ms-asx',
        'movie' => 'video/x-sgi-movie'
    );


// Array that will hold the dir/folders names.
$dir_array = array();
//$dir_info_array = array();
$file_array = array();
$file_info_array = array();

$open_dir = opendir( $current_dir ) ;

while ( $tmp_file = readdir( $open_dir ) ) {
    if ( $tmp_file != '.' && $tmp_file != '..' ) {
        # dir
        if ( is_dir( $current_dir.$tmp_file ) ) {
            $dir_array[] = $tmp_file;
        # files
        } elseif ( is_file($current_dir.$tmp_file) ) {
            $file_size = @filesize( $current_dir.$tmp_file ) ;
            if ( !$file_size ) {
                $file_size = 0 ;
            }
            if ( $file_size < 1024*1024) {
                $file_size = round( $file_size / 1024 ).'kb';
                if ( $file_size < 1 ) {
                    $file_size = '1kb';
                }
            } else {
                $file_size = round( $file_size/(1024*1024) ).'mb';
            }
            
            # get the type of file
            $file_ext = substr($tmp_file, strripos($tmp_file, '.')+1 );
            
            if ( in_array($file_ext, $allowed_types) ){
                $file_array[] = $tmp_file;
                $file_info_array[$tmp_file] = array(
                    'type' => '', // jpg, html, php, ect.
                    'content_type' => $file_type_array[$file_ext],
                    'size' => $file_size,
                    'date' => date("M/j/Y g:ia",filemtime($current_dir.$tmp_file)) );
            } else {
                continue;
            }
        }
    }
}
closedir($open_dir);

$image_path = $base_url.( $file_array[array_rand($file_array)] );

return $image_path;
Дмитрий
04 мая 2015, 18:41
0
Как быть с элементами интерфейса?
1. Использовать «Управление словарями» — нормально?
2. Если да, есть ли какой-либо способ пакетного добавления значений?
TITAN-UZ
04 мая 2015, 18:38
0
Все спасибо работает без проблем!

А как скрыт из Url ?targetid=*
TITAN-UZ
04 мая 2015, 18:25
0
Теперь Перенаправляет на главную страницу
Михаил
04 мая 2015, 18:19
0
Кто нибудь знает что это за ошибка ???
msProduct_err_ns
вообще ни чего по этому поводу не нашёл… Не сохраняется почему то опция при сохранении товара
Володя
04 мая 2015, 16:27
0
опции к товару можно создать по этому мануалу bezumkin.ru/modx/minishop2/classes/910/
компонент для этого не нужен.
Михаил
04 мая 2015, 15:50
0
С помощью этого компонента можно создавать свои опции товара? Например: диаметр линз --> 20, 30, 40, 50 итд. Чтобы в карточке товара при заказе можно было выбрать пользователю этот параметр
Fi1osof
04 мая 2015, 15:49
+1
Не соглашусь с вами. В нормальной компании им объясняют почему нельзя за один день сайт сделать и почему это столько стоит. Я согласен, что есть неадекваты, но далеко не все. Есть такие, которые хотят за один день, но которым можно все объяснить и они все понимают. Неадекватны те разработчики, что не могут этого объяснить, так еще и берутся это делать за один день и пол-рубля.
Сергей Фещуков
04 мая 2015, 15:47
0
Изображения берутся не запросом из таблицы, поэтому вариант с RAND() вообще ни к месту. Ищите в google варианты как произвольно сортировать массивы.
В PHP есть функция shuffle для перемешивания массивов.
php.net/manual/ru/function.shuffle.php
Сергей Скат
04 мая 2015, 15:44
0
интересный термин, но мой опыт заставляет согласиться с Владимиром, все кто хотят сайт за 1 день и 3 к рублей, неадекваты полнейшие, потом они приходят в нормальную фирму, а там их просто отправляют подальше )) так и маятся, от конторы к конторе порождая веселые истории и подтверждая стереотипы о плохих клиентах ))
Fi1osof
04 мая 2015, 15:25
+1
Потом, после фабрики, они идут, в т.ч. к вам)), с багажом опыта, так сказать.
Это что называется «клиент третьей руки».
Владимир
04 мая 2015, 15:22
+1
Маркетинг рассчитан на обывателя (причем всегда), и, конечно, среди обывателей есть адекватные и состоятельные. Но то что Фабрика отлавливает людей несведущих доверчивых, вы, скорее всего согласитесь. Потом, после фабрики, они идут, в т.ч. к вам)), с багажом опыта, так сказать.
Fi1osof
04 мая 2015, 15:13
0
Не могу с вами согласиться. Как минимум с двумя их клиентами сталкивался — очень адекватные люди. И деньги платят. То, что люди к ним в клиенты приходят — это не упущение этих людей, а заслуга маркетологов Фабрики.
Владимир
04 мая 2015, 15:01
0
Клиенты у них соответствующие, сами ни чего не могут установить, и не мыслят даже.
Нескольких их клиентов знавал- упаси бог с такими иметь дело. Так, что в определенном смысле «Фабрика сайтов» даже в чем то «санитары», перетягивают на себя «особо одаренных» заказчиков)))))
t3mnikov
04 мая 2015, 14:53
+1
Привет!
Не особо помогло!
Я разобрал как устроен ms2Gallery плагин:
в событии 'OnDocFormRender' и далее — мне помогло!
Сергей Скат
04 мая 2015, 14:32
0
не, ну перекрашиватьконечно никто не запрещает, но история попахивает так же как с тем школьником с урала, который «с нуля » Убунту написал =))) а вот то что они бесплатные дополнения продают это не правильно, мне интересно они хоть их устанавливают? или клиент сам настраивает?
Дмитрий Иванов
04 мая 2015, 14:16
-1
Я указал на конкретную неточность в вашем ответе автору, а вы развели непонятно что. Как вариант: заказчику нравится видеть одинаковый урл во всех языках.
Владимир
04 мая 2015, 14:07
0
Перекрасили, выдали за свой продукт, затерли все данные о системе и авторах и ничего не нарушили? Интересно, как они хотят доказать что «никакого нарушения GPL» не было?
Желаю вам победы. Такое наглое хамство должно быть наказано.
Сергей Шлоков
04 мая 2015, 14:05
+1
Да мне все ясно уже с первого комментария.
А вы ему категорически заявляете:
А заявляю я потому, что понимаю как это будет работать в комплексе. Как сайт будет индексироваться? Как роботы будут менять контексты, телепатически?
Автор не упоминал про seo,… Мало ли, для чего ему это надо.
Читать надо всё и очень внимательно. Тогда и понимание будет. Подозреваю, что автор и так знал, что контексты можно переключать хоть в зависимости от фазы луны, хоть от времени дня. Он просит решения, а не теории. Я ему решение предложил. А вот для чего нужно Ваше решение?
А вот тут автор удивляет своим редким для сайтостроителей желанием индексировать все языковые версии. Как непредсказуемо.
Fi1osof
04 мая 2015, 13:55
+1
На хабре пара тролей пытаются доказать, что никакого нарушения GPL на было, что они все сделали как имели право делать. В ближайшее время будем консультироваться с юристом. Вполне вероятно что все-таки будем иск выдвигать против них.