dotCMS - Создание пользовательской страницы (тип содержимого страницы)

РЕДАКТИРОВАТЬ:

Моя цель:

  1. Создайте шаблон страницы новостей с верхним и нижним колонтитулами и телом.
  2. Страница новостей нуждается в форме для редактора контента, в которую можно добавить контент с двумя полями: заголовок и история.
  3. Каждая страница новостей требует своих собственных мета-данных SEO (ключевые слова / заголовок описания).
  4. Эти истории должны быть легко найдены в CMS для будущего редактирования и т. Д. И т. Д.

Каков наилучший способ сделать это?

В настоящее время у меня есть тип содержимого "Страница", в котором есть все поля формы, которые мне требуются.

Чтобы создать новую новость, я сейчас делаю:

  1. Перейти в браузер сайта
  2. Щелкните правой кнопкой мыши [myFolder]
  3. Нажмите "Новый" -> Страница
  4. Выберите мою страницу из поля выбора (это был тип контента страницы, который я создал ранее)
  5. Теперь я вижу свою форму, заполняю ее, сохраняю / публикую и вижу ее, но с учетом проблем, о которых я говорил ранее.

Я почти уверен, что поступаю неправильно, но как правильно?

-------------


Я изо всех сил пытаюсь создать очень простую страницу в dotCMS.

Вот что я хочу сделать:

  1. Создайте форму для редактора контента, чтобы иметь возможность добавлять контент на страницу(Content-Type: Page называется myForm).
  2. Форма содержит все поля по умолчанию (SEO-материал и т. Д., Который поставляется с типом содержимого страницы)+ два дополнительных текстовых поля, которые я создал (fieldA и fieldB)DONE
  3. Создайте контейнер и добавьте имена переменных скорости.СДЕЛАННЫЙ
  4. Окружите имена переменных скорости в некотором HTML.<div>$fieldA</div>а также<div>$fieldB</div>СДЕЛАННЫЙ
  5. Создайте новую тему с файлом template.vtl.

Так что все готово. Теперь я иду и создаю новую страницу в папке через браузер сайта, выбирая мою новую "страницу" под названием "myForm" из выпадающего меню. Я вижу свою форму и ввожу свои данные, сохраняю и публикую.

Результат. Я не вижу никаких моих данных. Просто пустая страница.

Поэтому я проверяю документы и вижу, что я пропустил.

Есть страница, объясняющая, что мне нужно добавить некоторую скорость в мой template.vtl, которая выглядит следующим образом:

#if($dotPageContent && $dotPageContent.fieldA)
    <div class="row">
        #dotedit($!dotPageContent.inode,$!dotPageContent.fieldA)
    </div>
#end

#if($dotPageContent && $dotPageContent.fieldB)
    <div class="row">
        #dotedit($!dotPageContent.inode,$!dotPageContent.fieldB)
    </div>
#end

( ссылка на страницу помощи dotCMS)

Хорошо, теперь, когда я снова проверяю свою страницу, данные действительно отображаются. Но есть проблема. HTML-код в моем контейнере не анализируется.

Например <div>$fieldA</div> а также <div>$fieldB</div> не имеет <div></div> теги.

Так что теперь я волнуюсь, что это не способ создания страниц.

Причина, по которой я выбрал тип контента "Страница", заключалась в том, что он готов к использованию "Расширенного свойства" для страницы, такой как метаданные SEO (что, кстати, все работало нормально).

Может кто-то указать, что я, возможно, пропустил или, возможно, лучший способ сделать это?

Заранее спасибо.

2 ответа

Если бы вы могли разместить свой контейнер и код шаблона где-нибудь и добавить сюда ссылки, я бы наверняка помог вам решить проблему, но я думаю, что может произойти то, что вы путаете Тип содержимого страницы с определенными Контейнером типами содержимого.

Вот краткое объяснение, которое может помочь концептуальной дифференциации: http://screencast.com/t/PlEXKU9glGd

В видео я объясняю, что типы содержимого страницы предназначены только для свойств страницы, а не для добавления содержимого. Как вы хотите, чтобы на многих ваших страницах была другая ссылка на Facebook или какая-то другая особая собственность, привязанная к каждой странице. Чтобы разместить контент в контейнере, вы используете вторичный тип контента "Контент" и добавляете этот тип контента в поле кода контейнера. Когда страница загружается, выполнение происходит в таком порядке, устанавливаются загрузки содержимого страницы, свойства страницы и метаданные, страница вызывает шаблон, который обеспечивает макет, шаблон вызывает контейнеры, контейнеры имеют код, который форматирует содержимое, и затем контент выполняется в том порядке, в котором он размещен в контейнере издателем контента. Тип содержимого страницы не предназначен для предоставления какой-либо информации, которую фактически видит пользователь переднего плана, кроме заголовка страницы, URL-адреса страницы, а также свойств и метаданных, которые устанавливаются "без вывода сообщений" в фоновом html страницы.

Вам также может быть полезно присоединиться к форуму сообщества dotCMS: http://dotcms.com/forum/

надеюсь, это поможет

В дополнение к моему другому посту, я сделал тест с тем, что вы пытались сделать, в расширенном тестовом шаблоне, и файл template.vtl отображает содержимое страницы, если вы на самом деле редактируете свои свойства страницы и задаете, в этом случае поле A:

<!DOCTYPE html>
<html lang="en">
<!--[if lt IE 7]>      <html class="no-js lt-ie9 lt-ie8 lt-ie7"> <![endif]-->
<!--[if IE 7]>         <html class="no-js lt-ie9 lt-ie8"> <![endif]-->
<!--[if IE 8]>         <html class="no-js lt-ie9"> <![endif]-->
<!--[if gt IE 8]><!--> <html class="no-js"> <!--<![endif]-->

#set($dotTheme = $contents.getEmptyMap())
#set($blah1 = $dotTheme.put("path", "/application/themes/one-pager/"))

#set($dotThemeLayout = $contents.getEmptyMap())
#set($blah2 = $dotThemeLayout.put("title", "Bear Mountain"))

<head>  
    #if($dotPageContent && $dotPageContent.fieldA)
        <div class="row">
            #dotedit($!dotPageContent.inode,$!dotPageContent.fieldA)
        </div>
    #end
    ##dotParse("${dotTheme.path}html_head.vtl")

</head>
#set($utilClass = $pageTitle.toLowerCase().replace(' ', '-'))

<body data-spy="scroll" data-target=".top-nav" data-offset="100">

<div class="body-wrapper">

    #dotParse("${dotTheme.path}header.vtl")

    <div class="content-wrapper" id="hotel">
        <div class="container">
            <div class="row">
                <div class="col-sm-12">
                    <h2>The Lodge</h2>
                </div>
            </div>
            <div class="row">
                <div class="col-md-6 col-sm-12">
                    <div class="wow fadeInLeft" data-wow-delay=".8s">
                        ## Container: Default 2 (Page Content)
                        ## This is autogenerated code that cannot be changed
                        #parseContainer('5eb11b21-6b13-4fb8-a823-1de20bba56c0')
                   </div>
               </div>
               <div class="col-md-6 col-sm-12">
                    <div class="wow fadeInRight" data-wow-delay="1.2s">
                        ## Container: Default 3 (Page Content)
                        ## This is autogenerated code that cannot be changed
                        #parseContainer('f1ba7688-453c-4c0d-a214-e5ac802b8034')
                   </div>
              </div>
           </div>
       </div>
    </div>

    <div class="image-wrapper bg-image-1 hidden-xs" data-stellar-background-ratio="0.5"></div>

    <div class="content-wrapper">
        <div class="container">
            <div class="row">
                <div class="col-sm-12">
                    ## Container: Default 1 (Page Content)
                    ## This is autogenerated code that cannot be changed
                    #parseContainer('56bd55ea-b04b-480d-9e37-5d6f9217dcc3')
               </div>
          </div>
      </div>
   </div>
    <div class="image-wrapper bg-image-2 hidden-xs" data-stellar-background-ratio="0.7"></div>
    <div class="content-wrapper">
        <div class="container">
            <div class="row">
                <div class="col-sm-12">
                    ## Container: Default 4 (Page Content)
                    ## This is autogenerated code that cannot be changed
                    #parseContainer('a6e9652b-8183-4c09-b775-26196b09a300')
               </div>
          </div>
      </div>
   </div>
</div>

#dotParse("${dotTheme.path}footer.vtl")
<a href="http://www.dotcms.com" style="display:block;position:fixed;bottom:-175px;">Powered by Dotcms - The Leading Open Source Java Content Management System</a>

</body>
</html>

Это было проверено на demo.dotcms.com: U:admin@dotcms.com / P: admin

Другие вопросы по тегам