2012-03-13 8 views
2

У меня есть форма, где у меня есть редактор joomla2.5. Я хочу показать содержимое этого редактора joomla2.5 в Modram Box Iframe Joomla2.5. Я использую JOOMLA редакторуКак получить содержимое редактора joomla в joomla2.5 iframe Madal box

<?php 
    $editor =& JFactory::getEditor(); 
    echo $editor->display('body', '', '400', '150', '20', '20', false, $params); 
?> 

Эта страница находится в папке просмотра. Я использую код в файле js как window.parent.document.getElementById('body').value or window.parent.jInsertEditorText(tag, this.body); И он включен в файл js. когда я пытаюсь предупредить, предупреждение показывает null. Как исправить это в js-файле. Если какой-либо орган знает об этом, ответьте на него. Мне нужна твоя рука. Спасибо

+0

Я не уверен, что вы пытаетесь сделать здесь, но это похоже на плохой способ сделать это – Jake

+0

Вы пытаетесь отобразить редактор в модальном окне? – spacebiker

ответ

0

Joomla имеет встроенный способ показать модальную коробку:

Сначала вам нужно сделать, это попросить Joomla для загрузки модальных библиотек:

<?php JHTML::_('behavior.modal'); ?> 

И это код, который открывает модальное окно:

<a rel="{handler: 'iframe', size: {x: 750, y: 600}}" href="url_to_modal_editor" target="_blank"> Open Modal Editor</a> 

Это будет продолжаться в связанном HREF странице (страница модального редактора), позволяет сказать editor.p:

<?php 
    $editor =& JFactory::getEditor(); 
    echo $editor->display('body', '', '400', '150', '20', '20', false, $params); 
?> 
+0

Мне нужно показать содержимое текстового редактора joomla2.5 в всплывающем модуле joomla2.5. Как сделать в моем js-файле. Мне нужна твоя рука. Спасибо. –

+0

Некоторые вопросы: 1- В Javascript? 2- Вы хотите его одним нажатием кнопки, при загрузке страницы ..? 3- Модальный должен показывать только содержимое редактора или самого редактора? – spacebiker

+0

Перед сохранением в базе данных пользователь может просмотреть предварительный просмотр формы в модульном всплывающем окне joomla2.5.у пользователя есть форма, и по форме есть ссылка, например, предварительный просмотр. После нажатия ссылки предварительного просмотра пользователь может увидеть предварительный просмотр поля формы в всплывающем модульном окне joomla2.5. Текст ввода формы отображается в модальном поле, это нормально. Но содержимое редактора Joomla2.5 теперь отображается в модальном поле. Link дается в виде tmpl-файла, откуда javascript вызывает в js-файле. Как получить текстовый редактор joomla2.5 в модальном поле. Как исправить в моем js-файле. Мне нужна твоя рука. –

2

Я пишу ответ здесь, потому что комментарии не являются хорошими для отображения кода

Joomla функциональности модальной хорошо, чтобы показать ссылку из компонента, но не позволяют нам открыть данный элемент на странице. Поэтому вам нужно написать свой собственный код, прежде всего, не переопределять ядро ​​Joomla или все изменения, которые вы сделаете, будут переопределены при следующем обновлении. Поэтому при условии, что вы принимаете это во внимание:

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

<script type="text/javascript"> 
$(document).ready(function(){ 
    // Main parameters: 
    // Modify texteditor-id with the id or classname on your text div. For a classname use '.' instead of '#' 
    var HTMLContent = $("#texteditor-id").html(); 

    var width = 600; 
    var height = 250; 

    $('#button').click(function(){ 
      // transparent background 
      // we create a new div, with two attributes 
      var bgdiv = $('<div>').attr({ 
            className: 'bgtransparent', 
            id: 'bgtransparent' 
            }); 

      // add the new div to the page 
      $('body').append(bgdiv); 

      // get the widht and height of the main window 
      var wscr = $(window).width(); 
      var hscr = $(window).height(); 

      // set the background dimensions 
      $('#bgtransparent').css("width", wscr); 
      $('#bgtransparent').css("height", hscr); 


      // modal window 
      // create other div for the modal window and two attributes 
      var moddiv = $('<div>').attr({ 
            className: 'bgmodal', 
            id: 'bgmodal' 
            });  

      // add div to the page 
      $('body').append(moddiv); 

      // add HTML content to the modal window 
      $('#bgmodal').append(HTMLContent); 

      // resize for center adjustment 
      $(window).resize(); 
    }); 

    $(window).resize(function(){ 
      // explorer window dimensions 
      var wscr = $(window).width(); 
      var hscr = $(window).height(); 

      // setting background dimensions 
      $('#bgtransparent').css("width", wscr); 
      $('#bgtransparent').css("height", hscr); 

      // setting modal window size 
      $('#bgmodal').css("width", ancho+'px'); 
      $('#bgmodal').css("height", alto+'px'); 

      // getting modal window size 
      var wcnt = $('#bgmodal').width(); 
      var hcnt = $('#bgmodal').height(); 

      // get central position 
      var mleft = (wscr - wcnt)/2; 
      var mtop = (hscr - hcnt)/2; 

      // setting modal window centered 
      $('#bgmodal').css("left", mleft+'px'); 
      $('#bgmodal').css("top", mtop+'px'); 
    }); 

}); 

function closeModal(){ 
    // remove created divs 
    $('#bgmodal').remove(); 
    $('#bgtransparent').remove(); 
} 
</script> 

2- Ваша ссылка предварительного просмотра должен выглядеть примерно так, самая важная часть Ид = «кнопка» часть, так как это будет использоваться, которые будут определены в предыдущем коде Jquery:

<input type="button" id="button" value="Preview" /> 

3- Добавьте следующий код в ваш CSS

.bgtransparent{ 
    position:fixed; 
    left:0; 
    top:0; 
    background-color:#000; 
    opacity:0.6; 
    filter:alpha(opacity=60); 
} 

.bgmodal{ 
    position:fixed; 
    font-family:arial; 
    font-size:1em; 
    border:0.05em solid black; 
    overflow:auto; 
    background-color:#fff; 
} 

И это в основном то, что вам нужно сделать. Надеюсь, это поможет!

0

Просьба включить class = "modal" в якорный тег.