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

7545
2009 27 января

Вложения в форме обратной связи стандартного com_contact (!J1.0.хх !J1.5)

Тривиальная задача - в стандартной форме обратной связи сделать возможность прикрепления файлов к письму. Для этого будем использовать стандартную функцию mosMail, у которой, среди прочих, есть параметр $attachment, поскольку вся функция mosmail завязана на phpmailer. Итак по порядку.
Добавляем в components\com_contact\contact.html.php в форму обратной связи кнопку выбора файла
1
<input name="file" type="file" id="file">
Файл components\com_contact\contact.php в функции function sendmail() делаем что-то вроде
1
23
45
67
89
10
//USE STANDART ATTACHMENT FUNCTION
$tempdir = $mosConfig_absolute_path."/images/";$namefile = $_FILES['file']['name'];
$filetemp = $tempdir.$namefile;move_uploaded_file($_FILES['file']['tmp_name'], $tempdir.$namefile);
$attachment = $tempdir.$namefile;$success = mosMail( $email, $name, $contact[0]->email_to, $mosConfig_fromname .': '. $subject, $text, $mode=0, $cc=NULL, $bcc=NULL, $attachment);
if (!$success) { mosErrorAlert( _CONTACT_FORM_NC );
}
Аспекты с загрузкой файла на сервер, проверки типа и формата и прочее - не затрагиваю, ибо пишем по необходимости в каждом конкретном случае. То есть что самое главное - задать значением переменной $attachment как путь к файлу на сервере. В приведенном примере - это файл, загруженный из формы обратной связи. Для Joomla 1.5 класса JMail все в принципе аналогично, почитать можно здесь E-Mail Class. Provides a common interface to send e-mail from the Joomla! Framework Чуть более подробно по 1.5: 1 - В саму форму не забываем добавить enctype="multipart/form-data" 2 - не забываем про абсолютные пути к папке для временного файла
1
$tempdir = JPATH_ROOT."/images/";
3 - собственно функция вложения теперь упрощена, после того как мы получили файл в переменную
1
2
$attachment достаточно написать 
$mail->addAttachment( $attachment );
перед
1
$sent = $mail->Send();
и все, получили почтовое письмо с вложением
762
2009 19 января

Show\hide в формах (checkbox && Jquery)

Show hide в формах checkbox  JqueryБанальнейшая вещь в своей приятности - по клику на элемент показать\скрыть содержимое определенного блока. Понадобилось мне сделать такую полезность для большой формы - при отмеченном checkbox дать пользователю возможность выбора определенных параметров. Собственно решение ниже. Понадобится дополнительное включение jquery, весь же остальной код приведен ниже.
1
23
45
67
89
1011
1213
1415
16
$(document).ready(function(){
        //по умолчанию скрываем DIV        $("#tblview").css("display","none");
        // добавляем onclick на checkbox w/id param        $("#param").click(function(){
                // If checked                if ($("#param").is(":checked"))
                {                        //показываем скрытый слой
                        $("#tblview").show("fast");                } else {
                        //скрываем его                        $("#tblview").hide("fast");
                }        });
});
1
23
4
<form>
<input id="param" type="checkbox" /><label for="param">показать скрытый элемент:</label></form>
<div id="tblview">Скрытое содержимое блока</div>
Пример работы
475
2008 20 декабря

Мамбот внутренней навигации (Content Item Navigation)

Мамбот внутренней навигации pb_nearest_article

Представляю вашему вниманию маленький, но полезный мамбот pb_nearest_article, заменяющий кнопки "назад - вперед" на сочетание "название предыдущей статьи - название следующей статьи". Мамбот полезен в сфере SEO так и для удобства ориентации посетителей сайта.

Последовательность действий:

- установить и опубликовать мамбот
- в глобальной конфигурации в вкладке CONTENT установить опцию "Content Item Navigation:" в NO

422
2008 19 ноября

Overlib в Joomla 1.0.x

Palych (зараза такая) спросил, а я и не знал. Потому нашли и фиксируем - кастомизация внешнего вида стандартных тултипов в Joomla 1.0.хх

Собственно на событие
1
onmouseover="return overlib('.$overlibmetadescimg.', BELOW, RIGHT);" onmouseout="return nd();"
Отрабатывает скрипт includes\js\overlib_mini.js
Что нужно сделать, чтобы изменить оформление (цвета, шрифты etc):
1 - внести изменения в сам файл, переменные типа ol_fgcolor. Код не структурирован, разобраться - ногу сломать
2 - Command Reference от автора скрипта.
P.S. конечно, есть и лучшие скрипты оверлибов, но раз уж нам дан стандартный - пользуем его.
Метки:
476
2008 19 ноября

Highslide and Mosets Tree

В связи с новым проектом на Joomla 1.5 будем накапливать опыт хаков мосетса, дабы не было ничего забытого. Итак задача - в описании итема сделать сразу вывод всех картинок превьюшек и добавить на onclick js эффект. Изначально имеем уже установленный и настроенный Protos LightBox 1.1 Highslide for Joomla 1.5
Файл components\com_mtree\templates\используемый шаблон\sub_listingDetails.tpl.php Находим строки
1
23
45
67
89
10
if ($this->link->link_image) {
        echo '<div class="thumbnail' . (($this->config->getTemParam('imageDirectionListingSummary','right')=='right') ? '':'-left') . '">';        echo '<a href="' . sefReltoAbs('index.php?option=com_mtree&task=viewimage&img_id=' . $this->link->img_id . '&Itemid=' . $this->Itemid) . '">';
        $this->plugin( 'mt_image', $this->link->link_image, '3', $this->link->link_name );        echo '</a>';
        if( $this->total_images > 1 ) {                echo '<div style="width:' . ($this->config->get('resize_listing_size') + 10) . 'px"><a href="' . sefReltoAbs('index.php?option=com_mtree&task=viewgallery&link_id=' . $this->link->link_id . '&Itemid=' . $this->Itemid) . '">' . $this->_MT_LANG->VIEW_GALLERY . '</a></div>';
        }        echo '</div>';
}
на
1
23
45
foreach ($this->images as $image) {
        echo '<a id="thumb1" class="highslide" onclick="return hs.expand(this)" href="components/com_mtree/img/listings/o/' . $image->filename . '">';                $this->plugin( 'mt_image', $image->filename, '3', $this->link->link_name . ' - ' . $image->filename);
        echo '</a>';}
375
2008 04 ноября

Плагин Author Details for CB 1.2 && Joomla 1.5

Написан простенький плагин Author Details for CB v 1.0.

Тестировался на Community Builder 1.2 RC 3
В чем суть - в режим подробного просмотра (когда $view == 'article') после текста материала добавляются нужные поля профиля пользователя из CB.

810
2008 29 октября

Показ чего-либо от времени суток

Часто требуется напрямую в index.php шаблона или в другом месте сделать показ (к примеру) картинки в шапке либо вообще загрузку другого CSS файла в зависимости от времени суток. Потому публикую практически идентичные варианты, предложенные на форуме. Вариант от raduga
1
<img src="/images/<?php echo (date("%H")>=7 && date("%H")<18)? "dnevnaya" : "nochnaya"  ?>.jpg">
Мой, чуть более упрощенный для восприятия вариант
1
23
45
if (date("%H") >= '7' && date("%H") < '18') {
echo '<img src="/images/dnevnaya.jpg">';} else {
echo '<img src="/images/nocnaya.jpg">';}
Так, для памяти :) (тема на форуме)
487
2008 29 октября

Склонения в датах (joomla 1.0.хх)

Вопрос поднял VETERINAR, поделился реализацией столь банальной вещи, как для даты создания материала склонять "Февраля" вместо "Февраль" В языковом файле находим строку DEFINE('_DATE_FORMAT_LC' и перед ней добавляем такой вот массив:
1
23
45
67
89
1011
1213
14
$mon_date=array('01'=>"января",
                        '02'=>"февраля",                        '03'=>"марта",
                        '04'=>"апреля",                        '05'=>"мая",
                        '06'=>"июня",                        '07'=>"июля",
                        '08'=>"августа",                        '09'=>"сентября",
                        '10'=>"октября",                        '11'=>"ноября",
                        '12'=>"декабря",);$mon=date("m");
$m=$mon_date["$mon"];
И для самой константы вывода даты пишем так:
1
DEFINE('_DATE_FORMAT_LC',"%A, %d ".$m." %Y"); //Используйте PHP strftime формат
1413
2008 28 октября

Модуль карусель товаров для Virtuemart (jquery)

jquery carusel По просьбе Sulpher написан модуль вывода товаров текущей категории для Virtuemart с эффектом прокрутки в виде карусели (jcarousellite - Joomla 1.0.хх). Возможности:
  • Показывать модуль в режиме просмотра категории и при просмотре товара (последнее отключается)
  • Картинка товара служит ссылкой на его описание (для каждого товара картинка должна быть указана, вариант с отсутствием изображения товара не рассматривался и в разработку не включался)
  • Количество выбираемых изображений категории (по умолчанию 0 - все товары текущей категории)
  • Возможность автопрокрутки изображений в карусели
  • Указание шага прокрутки и скорости в секундах для автопрокрутки
  • Возможность отключения загрузки скрипта Jquery, если уже используется на сайте
  • По умолчанию стили модуля рассчитаны на 4 изображения, шириной 150px и высотой 114px
Обновления:
  • Модуль обновлен до версии 1.0.1 - исправлена ошибка конфликтов Jquery модуля и Mootools функции добавления товара в корзину
Демо здесь - ссылко Качать здесь P.S. 18 января добавлены модификации модуля: - возможность цикличной прокрутки картинок - подгрузка содержимого на ajax, что не вызывает зависания страницы при первом запуске. Данные модификации не вошли в официальный релиз, опубликованный на форуме. Лиц заинтересованных прошу в комменты
502
2008 21 октября

Protos LightBox 1.1 Highslide for Joomla 1.5

По необходимости нашел данный плагин для линейки 1.5 и для удобства сообщества выкладываю чуть подправленную версию Автор Ivo Apostolov Лицензия Non-Commercial
Что сделано:
  • Переведен на русский язык (у кого совсем уж туго с иностранным), файлы сохранены в UTF-8
  • Исправлена ошибка в файле стилей в пути к иконке zoomin.cur
  • Добавил 5 стилей стандартного Highslide в плагин
Установка и использование: 1 - установить плагины protos.lightbox и protos.lightbox.js, опубликовать оба. 2 - в настройках плагина Protos Lightbox выставить ширину\высоту превьюшек, указать папку (от images/stories), если пусто - при использовании плагина указывать картинки из корня images/stories. 3 - в режиме редактирования материала вписать теги: [code]{limage}test.jpg{/limage}[/code] либо если не указана папка в настройках плагина [code]{limage}test/test.jpg{/limage}[/code] 4 - при необходимости изменить стиль рамки всплывающего окна - внести изменения в файл plugins\system\protos.lightbox.js.php, параметр hs.outlineType. Доступные стили - beveled, drop-shadow, glossy-dark, outer-glow, rounded-black, rounded-white Вот и всё, по всем вопросам работы плагина - обращайтесь к автору. P.S. меня смутил только один момент - невозможность задать ALT для изображения (в качестве временного решения задал путь до изображения, можно исправить в plugins\content\protos.lightbox.php, строка 61 с формированием $limage), но не смертельно для меня. Найдутся желающие пофиксить - буду радый protos.lightbox.zip protos.lightbox.js.zip
387
2008 21 октября

Приятные JS скрипты

javascript Дабы сильно не дублироваться, но и не потерять полезные скрипты - ссылко на разные приятные скрипты в специализированном разделе joomlaforum.ru
2328
2008 21 октября

Новое поле в форме регистрации (joomla1.5)

Встал вопрос добавить дополнительное поле в форму регистрации пользователей стандартными средствами, приготовился к глубокому копанию в коде движка (помятуя аналогичный хак для 1.0.хх), но с удивлением для себя обнаружил безумную простоту действия. Потому по порядку. Добавлять мы будем поле city (текстового типа)

948
2008 21 октября

WordPress или первая нетрезвая заметка

Волею судеб оказавшить на несколько дней не у дел и в лежачем положении подумалось реализовать старую мысль, до которой ноги никак не доносили мозги, а именно нормальный человеческий блог, вместо жутких поделок а-ля ЖЖ Остановился, естественно, на WordPress (далее ВП).

401
2007 10 июня

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

Старый боян из жизни. Немного юмора от коллеги из переписки. ОНА - представитель поддержки софтины ОН - админ конторы, использующей софтину Далее без комментариев...