Настройки дизайна
  • Общие
  • Шапка
  • Главная
Базовый цвет
Свой цвет
Сайдбар
Тень на внутренних страницах
Фон логотипа в цвет сайта
Шапка сайта всегда видна
Шапка по ширине экрана
Кнопка "Оставить заявку" вместо слогана
Главное меню
Пункты меню 3-го уровня
Скрыть слайдер
"Услуги" на главной
"Тизеры" на главной
"Форма обратной связи" на главной
"Выполненные работы" на главной
"Новости" на главной
"Блог" на главной
"Партнеры" на главной

Возможно ли предварительное указание точного расположения отдельного контента?

Внимание! Если не пришло письмо о регистрации напишите нам на почту! 
@twriters
 obmen_soobsheniyami.pngчат для технических писателей в Telegram

 Зарегистрируйтесь
Страницы: 1
RSS
Возможно ли предварительное указание точного расположения отдельного контента?
 
Здравствуйте!

Возможно ли в Dr. Explain реализовать схему, показанную на рисунке? Необходимо заранее указать программе точное расположение отдельных кусков текста  в выходном документе. В качестве кусков имеются ввиду не отдельные топики, а именно части текста внутри контента одного топика.
 
Изменено: zukatoka - 21.01.2015 06:21:11
 
Откройте ваш проект в Dr.Explain, а затем проделайте следующее:

В ПРИВЕДЕННЫХ НИЖЕ ОТРЫВКАХ КОДА В НАЧАЛЕ И В КОНЦЕ НУЖНО УБРАТЬ ПРОБЕЛ ВНУТРИ "sc ript" ЧТОБЫ БЫЛО "script"
  1. Перейдите в меню "Настройки->Настройки проекта". В левой части выберите "HTML экспорт", а в нижней части правой в разделе "Структура страницы" нажмите на кнопку "Настроить".
  2. В открывшемся диалоге "HTML шаблон и раскладка" нужно в левом верхнем углу отметить флажок "Детальная настройка". При этом в левой части станет видимой кнопка "До тега BODY, внутри тега HEAD". Нажмите эту кнопку и в правой части в текстовое поле введите следующий код:

    Код
        <sc ript type="text/javascript">
              function updateElement(element, sourceUrl, partId)
              {
                 $.ajax({
                    url: sourceUrl,
                    dataType: "html"
                 })
                 .done(function(data, textStatus, jqXHR) {
                    var t = $(data);
                    
                    var curDiv = t.find("#" + partId + "Begin").parent("div")[0];
                    var siblings = new Array();
                    var cur = $(curDiv);
                    while (true)
                    {
                       if (cur.length == 0)
                          break;
                       siblings.push(cur[0]);
                       if ($(cur).find("#" + partId + "End").length == 1)
                          break;
                       cur = $(cur).next();
                    }
                    var insertion = $("<div></div>");
                    $(siblings).each(function(){
                       insertion.append($(this));
                    });
                    //var t = data;
                    //alert(t);
                    $(element).empty().prepend(insertion);
                 //   alert("second success");
                 })
                 .fail(function(jqXHR, textStatus, errorThrown) {
                    console.log(errorThrown);
                    alert("error: status = " + textStatus + ", errorThrown = " + errorThrown);
                 });
                 }
        </sc ript>
    

  3. Нажмите OK / OK, чтобы сохранить изменения в настройках.
  4. Создайте раздел, фрагменты которого будут показываться в других разделах. В левом нижнем углу в поле "Имя файла" введите "tempfrag".
  5. В этом разделе перед (можно в начале абзаца) текстом, который вы хотите показывать в качестве фрагмента, вставьте HTML-фрагмент (комбинация Ctrl+Shift+S в редакторе). В появившемся окне введите следующий код:
    Код
     <div id="partOneBegin"></div>

    и нажмите OK. Вставьте другой фрагмент в конце текста:
    Код
     <div id="partOneEnd"></div>

  6. В том разделе, в котором вы хотите показать фрагмент, добавьте HTML-фрагмент с кодом
    Код
     <sc ript type="text/javascript">
     $(document).ready(function(){
        updateElement(".m-pageContent__side__header", "tempfrag.htm", "partOne");
     });
     </sc ript>
    

Если нужно, чтобы фрагмент отображался в нижней части, поменяйте ".m-pageContent__side__header" на ".m-pageContent__side__footer", а чтобы показывался внутри основной части - на ".description_on_page".

Здесь "partOne" - это идентификатор фрагмента. Для нескольких фрагментов текста идентификаторы должны быть разными. Саму страницу "tempfrag.htm" можно создавать вручную, например, в текстовом редакторе, либо в отдельном проекте, а после HTML-экспорта загружать в ту же папку, куда был загружен результат HTML-экспорта проекта со вставками.

Проект, демонстрирующий описанное выше, находится в прикрепленном архиве.
Страницы: 1
Читают тему

Рейтинг@Mail.ru