Автор Тема: Как добавить скрипт (html) на CMS-страницу  (Прочитано 4383 раз)

25 Ноября 2013, 23:02:26
  • Новичок
  • *
  • Сообщений: 14
  • Репутация: +0/-0
  • Сообщество PrestaShop
    • Просмотр профиля
В общем, я создал страницу через "Настройки - Страницы". Там можно редактировать текст добавлять ссылки, и так далее, но как я не пытался не смог добавить код Яндекс.Карт.
Подскажите, как это можно сделать и где вообще находятся эти сгенерированные CMS-страницы, чтобы их можно было менять изнутри?
26 Ноября 2013, 11:25:25
Ответ #1
  • Фрилансер
  • *
  • Сообщений: 198
  • Репутация: +4/-0
  • Разработка и программирование сайтов
    • Просмотр профиля
    • Разработка и программирование сайтов
В общем, я создал страницу через "Настройки - Страницы". Там можно редактировать текст добавлять ссылки, и так далее, но как я не пытался не смог добавить код Яндекс.Карт.
Подскажите, как это можно сделать и где вообще находятся эти сгенерированные CMS-страницы, чтобы их можно было менять изнутри?

это blockcms, используйте шаблоны вывода этого модуля - файлы tpl.
26 Ноября 2013, 14:22:54
Ответ #2
  • Ветеран
  • *****
  • Сообщений: 20889
  • Репутация: +25279/-0
  • Prestashop - просто и эффективно
    • Просмотр профиля
1.Можно вынести в отдельный файл и подключить этот файл в шаблоне.
2. Можно добавить в редактор кнопку вставки кода.
3. Можно напрямую вставить в шаблоне cms.tpl

А лучше вставлять карту отдельным модулем или изменить стандарный шаблон sitemap.tpl. На форуме обсуждали как прикрутить яндекс карту.
Эксперт Prestashop - решения всех проблем, написание модулей, создание тем для интернет-магазинов под Prestashop.
Эксперт Magento - создам сайт на Magento, программирование кастомных модулей для Magento, кастомизация тем Magento.
Лучшие цены!!!
28 Ноября 2013, 04:46:00
Ответ #3
  • Новичок
  • *
  • Сообщений: 14
  • Репутация: +0/-0
  • Сообщество PrestaShop
    • Просмотр профиля
1.Можно вынести в отдельный файл и подключить этот файл в шаблоне.
2. Можно добавить в редактор кнопку вставки кода.
3. Можно напрямую вставить в шаблоне cms.tpl

А лучше вставлять карту отдельным модулем или изменить стандарный шаблон sitemap.tpl. На форуме обсуждали как прикрутить яндекс карту.

Ну, вот, например, у меня есть код карты сгенерированный в "Редакторе карт Яндекс", создал cms-страницу вышеописанным способом, теперь надо этот код вставить именно на эту страницу.
Что и как надо делать?

Расскажите, по-конкретнее новичку, если не трудно.  :)
28 Ноября 2013, 12:32:10
Ответ #4
  • Партнер
  • Ветеран
  • ****
  • Сообщений: 22220
  • Репутация: +17111/-1
  • Разработка веб-сайтов и веб-программирование
    • Просмотр профиля
Кнопки в виз.редакторе Добавить HTML или Добавить JS есть?
Prestashop TinyMCE editor full options + all html tags support
Интернет-магазин под ключ.
Какой выбрать движок для интернет магазина ?
Какой движок лучше ?
Magento или Prestashop ?
Решение всех Ваших вопросов в создании Интернет-магазина.
28 Ноября 2013, 20:52:14
Ответ #5
  • Новичок
  • *
  • Сообщений: 14
  • Репутация: +0/-0
  • Сообщество PrestaShop
    • Просмотр профиля
Кнопки в виз.редакторе Добавить HTML или Добавить JS есть?
Prestashop TinyMCE editor full options + all html tags support

В том-то и дело что нет.
29 Ноября 2013, 02:14:50
Ответ #6
  • Ветеран
  • *****
  • Сообщений: 980
  • Репутация: +5/-0
  • Иногда заглядываю
    • Просмотр профиля
    • Помощь патентообладателям по продаже патентов.
страница редактора должна выглядеть примерно так.
Не боги горшки обжигают, не зачем им такой хренью заниматься.
29 Ноября 2013, 11:57:47
Ответ #7
  • Модератор
  • Ветеран
  • *****
  • Сообщений: 33028
  • Репутация: +26761/-0
    • Просмотр профиля
Если кнопок нет, то добавьте.
Ссылку же дали, там написано что и как делать.
29 Ноября 2013, 18:33:02
Ответ #8
  • Новичок
  • *
  • Сообщений: 14
  • Репутация: +0/-0
  • Сообщество PrestaShop
    • Просмотр профиля
Сделал. Ничего не меняется. Не пойму в чем дело. Вроде правильно всё делаю  ??? У меня 1.5.6.1
29 Ноября 2013, 19:02:09
Ответ #9
  • Новичок
  • *
  • Сообщений: 14
  • Репутация: +0/-0
  • Сообщество PrestaShop
    • Просмотр профиля
Я, кажется, понял в чем проблема.
Редактор, как показано выше у меня изменился, но только когда я редактирую товары.

На том сайте написано менять:
ADMIN_DIR/themes/default/template/controllers/product/helpers/form.tpl


Теперь осталось узнать как сделать то же самое для CMS страниц

В папке: ADMIN_DIR\themes\default\template 40 разных файлов form.tpl какой-то из них и надо редактировать, если я правильно понял
30 Ноября 2013, 16:10:53
Ответ #10
  • Партнер
  • Ветеран
  • ****
  • Сообщений: 22220
  • Репутация: +17111/-1
  • Разработка веб-сайтов и веб-программирование
    • Просмотр профиля
Для CMS
/ADMIN_DIR/themes/default/template/controllers/cms/helpers/form/form.tpl
Интернет-магазин под ключ.
Какой выбрать движок для интернет магазина ?
Какой движок лучше ?
Magento или Prestashop ?
Решение всех Ваших вопросов в создании Интернет-магазина.
02 Декабря 2013, 11:40:43
Ответ #11
  • Новичок
  • *
  • Сообщений: 14
  • Репутация: +0/-0
  • Сообщество PrestaShop
    • Просмотр профиля
Для CMS
/ADMIN_DIR/themes/default/template/controllers/cms/helpers/form/form.tpl

Спасибо, буду смотреть  :)
03 Декабря 2013, 15:33:16
Ответ #12
  • Новичок
  • *
  • Сообщений: 14
  • Репутация: +0/-0
  • Сообщество PrestaShop
    • Просмотр профиля
Для CMS
/ADMIN_DIR/themes/default/template/controllers/cms/helpers/form/form.tpl

В этом файле нет "tinySetup".

После добавления:
{block name="autoload_tinyMCE"}
// Execute when tab Informations has finished loading
tabs_manager.onLoad('Informations', function(){
tinySetup({
editor_selector :"autoload_rte",
theme_advanced_buttons1 : "save,newdocument,bold,italic,underline,strikethrough,justifyleft,justifycenter,justifyright,justifyfull,styleselect,formatselect, fontselect,fontsizeselect",
theme_advanced_buttons2 : "cut,copy,paste,pastetext,pasteword,search,replace,bullist,numlist,outdent,indent,blockquote,undo,redo,link,unlink,anchor,image,cleanup,help,codemagic,insertdate,inserttime,preview,forecolor,backcolor",
theme_advanced_buttons3 : "code,tablecontrols,hr,removeformat,visualaid,sub,sup,charmap,emotions,iespell,media,advhr,print,ltr,rtl,fullscreen",
theme_advanced_buttons4 : "styleprops,cite,abbr,acronym,del,ins,attribs,visualchars,nonbreaking,template,pagebreak,restoredraft,visualblocks",
theme_advanced_toolbar_location : "top",
theme_advanced_toolbar_align : "left",
theme_advanced_statusbar_location : "bottom",
theme_advanced_resizing : false,
extended_valid_elements: 'pre[*],script[*],style[*]',
valid_children: "+body[style|script],pre[script|div|p|br|span|img|style|h1|h2|h3|h4|h5],*[*]",
valid_elements : '*[*]',
force_p_newlines : false,
cleanup: false,
forced_root_block : false,
force_br_newlines : true,   
setup : function(ed) {
ed.onInit.add(function(ed)
{
if (typeof ProductMultishop.load_tinymce[ed.id] != 'undefined')
{
if (typeof ProductMultishop.load_tinymce[ed.id])
ed.hide();
else
ed.show();
}
});

ed.onKeyUp.add(function(ed, e) {
tinyMCE.triggerSave();
textarea = $('#'+ed.id);
max = textarea.parent('div').find('span.counter').attr('max');
if (max != 'none')
{
textarea_value = textarea.val();
count = stripHTML(textarea_value).length;
rest = max - count;
if (rest < 0)
textarea.parent('div').find('span.counter').html('<span style="color:red;">{l s='Maximum'} '+max+' {l s='characters'} : '+rest+'</span>');
else
textarea.parent('div').find('span.counter').html(' ');
}
});
}
});
});
{/block}

Возникают вот такие дела:


Видимо настройки откуда-то из другого места грузятся.

Вот полный код файла ADMIN_DIR/themes/default/template/controllers/cms/helpers/form/form.tpl с кодом написанным выше:
{extends file="helpers/form/form.tpl"}

{block name="autoload_tinyMCE"}
// Execute when tab Informations has finished loading
tabs_manager.onLoad('Informations', function(){
tinySetup({
editor_selector :"autoload_rte",
theme_advanced_buttons1 : "save,newdocument,bold,italic,underline,strikethrough,justifyleft,justifycenter,justifyright,justifyfull,styleselect,formatselect, fontselect,fontsizeselect",
theme_advanced_buttons2 : "cut,copy,paste,pastetext,pasteword,search,replace,bullist,numlist,outdent,indent,blockquote,undo,redo,link,unlink,anchor,image,cleanup,help,codemagic,insertdate,inserttime,preview,forecolor,backcolor",
theme_advanced_buttons3 : "code,tablecontrols,hr,removeformat,visualaid,sub,sup,charmap,emotions,iespell,media,advhr,print,ltr,rtl,fullscreen",
theme_advanced_buttons4 : "styleprops,cite,abbr,acronym,del,ins,attribs,visualchars,nonbreaking,template,pagebreak,restoredraft,visualblocks",
theme_advanced_toolbar_location : "top",
theme_advanced_toolbar_align : "left",
theme_advanced_statusbar_location : "bottom",
theme_advanced_resizing : false,
extended_valid_elements: 'pre[*],script[*],style[*]',
valid_children: "+body[style|script],pre[script|div|p|br|span|img|style|h1|h2|h3|h4|h5],*[*]",
valid_elements : '*[*]',
force_p_newlines : false,
cleanup: false,
forced_root_block : false,
force_br_newlines : true,   
setup : function(ed) {
ed.onInit.add(function(ed)
{
if (typeof ProductMultishop.load_tinymce[ed.id] != 'undefined')
{
if (typeof ProductMultishop.load_tinymce[ed.id])
ed.hide();
else
ed.show();
}
});

ed.onKeyUp.add(function(ed, e) {
tinyMCE.triggerSave();
textarea = $('#'+ed.id);
max = textarea.parent('div').find('span.counter').attr('max');
if (max != 'none')
{
textarea_value = textarea.val();
count = stripHTML(textarea_value).length;
rest = max - count;
if (rest < 0)
textarea.parent('div').find('span.counter').html('<span style="color:red;">{l s='Maximum'} '+max+' {l s='characters'} : '+rest+'</span>');
else
textarea.parent('div').find('span.counter').html(' ');
}
});
}
});
});
{/block}

{block name="input"}
{if $input.name == "link_rewrite"}
<script type="text/javascript">
{if isset($PS_ALLOW_ACCENTED_CHARS_URL) && $PS_ALLOW_ACCENTED_CHARS_URL}
var PS_ALLOW_ACCENTED_CHARS_URL = 1;
{else}
var PS_ALLOW_ACCENTED_CHARS_URL = 0;
{/if}
</script>
{$smarty.block.parent}
{else}
{$smarty.block.parent}
{/if}
{/block}
{block name="script"}
$(document).ready(function() {
if (btn_submit.length > 0)
{
//get reference on save and stay link
btn_save_and_preview = $('span[class~="process-icon-save-and-preview"]').parent();

//get reference on current save link label
lbl_save = $('#desc-{$table}-save div');

//submit the form
if (btn_save_and_preview)
{
btn_save_and_preview.click(function() {
//add hidden input to emulate submit button click when posting the form -> field name posted
btn_submit.before('<input type="hidden" name="'+btn_submit.attr("name")+'AndPreview" value="1" />');
$('#{$table}_form').submit();
});
}
}
$('#active_on').bind('click', function(){
toggleDraftWarning(false);
});
$('#active_off').bind('click', function(){
toggleDraftWarning(true);
});
});
{/block}

{block name="leadin"}
<div class="warn draft" style="{if $active}display:none{/if}">
<p>
<span style="float: left">
{l s='Your CMS page will be saved as a draft'}
</span>
<br class="clear" />
</p>
</div>
{/block}

{block name="input"}
{if $input.type == 'select_category'}
<select name="{$input.name}">
{$input.options.html}
</select>
{else}
{$smarty.block.parent}
{/if}
{/block}

04 Декабря 2013, 11:48:09
Ответ #13
  • Партнер
  • Ветеран
  • ****
  • Сообщений: 22220
  • Репутация: +17111/-1
  • Разработка веб-сайтов и веб-программирование
    • Просмотр профиля
Цитировать
В этом файле нет "tinySetup".
И не должно быть. Это контроллер для страниц cms. Все настройки в классе Сms.php и родительском шаблоне form.tpl.
Добавить скрипт можно в шаблоне напрямую
{if $cms->id==Ид вашей страницы}
  {literal}
    SCRIPT CODE HERE
  {/literal}
{/if}
Интернет-магазин под ключ.
Какой выбрать движок для интернет магазина ?
Какой движок лучше ?
Magento или Prestashop ?
Решение всех Ваших вопросов в создании Интернет-магазина.