Перейти к содержимому


Картинки для рассылки новостей


  • Вы не можете ответить в тему
Сообщений в теме: 3

#1 zcz

    Продвинутый пользователь

  • Assistent vsupport.club
  • PipPipPip
  • 104 сообщений
Репутация: 62
Продвинутый

Отправлено 05 February 2014 - 09:46 AM

Небольшое дополнение для ShopCMS 3.1.*, позволяющее добавлять фото в рассылку подписчикам.
1. - Ставим принудительную очистку кеша в админ-панели.

2. - редактируем файл core/tpl/admin/modules_news.tpl.html
Находим
var oFCKeditor3 = new FCKeditor( 'area3',720,300) ;
{/literal}{php}
$dir1 = dirname($_SERVER['PHP_SELF']);
$sourcessrand = array("//" => "/", "\\" => "/");
$dir1 = strtr($dir1, $sourcessrand);
if ($dir1 != "/") $dir2 = "/"; else $dir2 = "";
echo "\n";
echo "oFCKeditor3.BasePath = \"".$dir1.$dir2."fckeditor/\";\n";
echo "oFCKeditor3.ToolbarSet = 'Basic';\n";
{/php}{literal}
oFCKeditor3.ReplaceTextarea() ;

Меняем на
var oFCKeditor3 = new FCKeditor( 'area3',720,346) ;
{/literal}{php}
$dir1 = dirname($_SERVER['PHP_SELF']);
$sourcessrand = array("//" => "/", "\\" => "/");
$dir1 = strtr($dir1, $sourcessrand);
if ($dir1 != "/") $dir2 = "/"; else $dir2 = "";
echo "\n";
echo "oFCKeditor3.BasePath = \"".$dir1.$dir2."fckeditor/\";\n";
{/php}{literal}
oFCKeditor3.ReplaceTextarea() ;

3. - открываем файл fckeditor/ckfinder/config.php
Ищем строку
$baseHTTPUrl = $dir1.$dir2.'data/';
комментируем ее (для тех кто не знает - перед началом ставим "//").

Ниже видим закоментированную строку
$baseHTTPUrl = "http://".$_SERVER["HTTP_HOST"].$dir1.$dir2.'data/';

Ее нам надо раскомментировать.

Сохраняем и радуемся - теперь мы можем прикреплять фото и изменять шрифты и стили в присылаемом пользователям письме.
  • 0
Пишу, устанавливаю, натягиваю))) pix-art.ru

#2 badisoft

    Продвинутый пользователь

  • Assistent vsupport.club
  • PipPipPip
  • 5075 сообщений
Репутация: 786
Мастер

Отправлено 05 February 2014 - 08:19 PM

2. - редактируем файл core/tpl/admin/modules_news.tpl.html

А в чем отличие кроме увеличения высоты окна с 300 до 346 пикселей? :)

Сохраняем и радуемся - теперь мы можем прикреплять фото

К сожалению, мы можем прикреплять не фото, а ссылку. Лучше, конечно, чем было, но большинство читалок по умолчанию изначально блокируют фото, а если прямого доступа к инету нет (что, правда, маловероятно), то и увидеть это фото не получится.

Удобнее сделать так:

1. в файлах custord_subscribers.tpl.html и modules_news.tpl.html комментируем строку, содержащую

ToolbarSet = 'Basic'

таким образом получим не Basic-тулбар редактора, а Default-тулбар, где есть иконка загрузки/вставки файлов.

2. в файле functions.php в функции xMailTxtHTMLDATA перед


$mail->Body = $_Text;


вставляем


# BEGIN News-mail-picture
if (preg_match_all('/src="\/(\S+\/(\S+?\.(jpg|gif|jpeg|png|bmp)))"/', $_Text, $match, PREG_SET_ORDER))
foreach ($match as $m)
{
$_Text = str_replace($m[0],'src="cid:'.$m[2].'"',$_Text);
$mail->AddEmbeddedImage($m[1],$m[2]);
}
# END News-mail-picture


Таким образом все ссылки, имеющие в начале / (т.е. локальные) и расширение jpg|gif|jpeg|png|bmp будут замены на cid:имяфайла, а сам файл будет добавлен в base64 в тело письма. Остальные ссылки останутся как были. В результате получатель емейла СРАЗУ увидит картинки, без вопросов типа "некоторые изображения были заблокированы, бла-бла-бла..."


PS. Бонусом идет возможность в емейловых tpl.html-файлах сделать вставку логотипа, (хидера, футера, etc) просто в виде локальной ссылки <img src="/..../..../filename.jpg"> - вышеуказанные несколько строк влепят этот файл в тело письма :).
  • 1
http://cpu.badisoft.ru (тестовый сайт), http://badisoft.ru (модули)

#3 zcz

    Продвинутый пользователь

  • Assistent vsupport.club
  • PipPipPip
  • 104 сообщений
Репутация: 62
Продвинутый

Отправлено 06 February 2014 - 06:20 AM

2. - редактируем файл core/tpl/admin/modules_news.tpl.html

А в чем отличие кроме увеличения высоты окна с 300 до 346 пикселей? :)


Делает поле не обычным textarea а с редактором (нет этой строки
echo "oFCKeditor3.ToolbarSet = 'Basic';\n";
)
Просто заменить целиком проще чем найти 1 строку.

Да, согласен мой вариант не достаточно хорош, по сравнению с вашим, но тоже имеет право на жизнь)
Спасибо.
  • 0
Пишу, устанавливаю, натягиваю))) pix-art.ru

#4 badisoft

    Продвинутый пользователь

  • Assistent vsupport.club
  • PipPipPip
  • 5075 сообщений
Репутация: 786
Мастер

Отправлено 06 February 2014 - 09:47 AM

Делает поле не обычным textarea а с редактором (нет этой строки

Тьфу ты... Несколько минут сравнивал коды, а так и не заметил :)
Мои извинения.
  • 0
http://cpu.badisoft.ru (тестовый сайт), http://badisoft.ru (модули)