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


Вопросы по генерации страниц из файла.


  • Авторизуйтесь для ответа в теме
Сообщений в теме: 4

#1 malina

malina

    Участник

  • Пользователи Zebrum CMS
  • PipPip
  • 11 сообщений
  • Город: Киев
  • Seo

Отправлено 23.07.2012, 17:13

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

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

И так, ситуация ясна. теперь о вопросах по этому вашему "парсеру":
- html-теги, которые мне нужно использовать в импортируемых текстах записывать в открытом виде, тегами?
- зачем делать тег @h1? точнее, чем он отличается от @title и зачем нужен этот тег, если есть возможность ввести текст в строке после диезов, как показано в примере, в зебруме:
##Главная страница
@@keywords=главная, страница
текст страницы
так же, аналогичное можно увидеть здесь: http://zebrum.ru/doc...e/pages/parser/ раздел 2.3, пример 2.2
- по поводу @split - это автоматическое деление. смысл такого деления есть только в том случае, если мы можем указывать в сорце для зебрумовского парсера место, в котором нужно устроить разрыв и так далее, пока не исчерпаем тему разрывов. то есть, можно было бы бить файл на кусочки и каждый кусочек публиковать на отдельной странице в одном разделе. пока что, у меня парсер рендомно раскидывает куски текста по страницам, соблюдая лишь логическую завершенность куска как отдельного блока информации. было бы прикольно группировать их по файлам.
- по поводу @publish и @time судя по всему, я не смогу сегодня уболтать зебрум опубликовать завтра статью со вчерашней датой? завтрашняя статья будет с завтрашней датой и не иначе?
и еще, у вас в примере 2.2 ошибка. судя по всему.
@@publish=2009-11-03 Появится на сайте только 3 ноября 2009 года
вы паблиш с таймом перепутали... или здесь, или на странице 2.1

#2 zebrum

zebrum

    Администратор

  • Главные администраторы
  • PipPipPip
  • 636 сообщений

Отправлено 26.07.2012, 10:40

Цитата

- html-теги, которые мне нужно использовать в импортируемых текстах записывать в открытом виде, тегами?

если на сайте выключены фильтры (или включен только zfilter_asis, то все тэги можно оставлять в теле страницы;
если указан zfilter_text2html, то к тексту будет применяться переформатирование и все переходы на новую строку будут заменяться на <br />

Цитата

- зачем делать тег @h1? точнее, чем он отличается от @title и зачем нужен этот тег

@@title --- это то, что будет заголовком браузера (<head><title>, выводится либо функцией z_head, либо z_title, в зависимости от шаблона);

@@h1 --- это альтернативное название страницы, которое можно выводить в теле самой страницы (например, в тэге <h1>, выводится функцией z_h1);
если @@h1 не указан, то значением считается @@title.

Диезы используются только для парсера. Если в свойствах страницы, которая разбирается парсером будет присутствовать свойство @@title, то оно будет использовано как заголовок браузера.

Цитата

- по поводу @split - это автоматическое деление

В теле страницы можно использовать тэг <!--nextpage-->, который будет считаться признаком начала следующей подстраницы. Если этого тэга нет и включено автоматическое деление страницы на подстраницы, то движок руководствуется настройкой количества символов, после достижения которого рекомендуется создавать следующую подстраницу.

Цитата

- по поводу @publish и @time

Да, опубликовать завтра статью с сегодняшней датой не получится. Свойства @@publish и @@time --- это два разных способа задать дату публикации (см. http://zebrum.ru/doc...ges/properties/).

Но, вы можете использовать своё собственное свойство, например, @@_published, и выводить в шаблоне используя конструкцию вида:

<?php echo z_page()->getProperty('_published'); ?> .


#3 malina

malina

    Участник

  • Пользователи Zebrum CMS
  • PipPip
  • 11 сообщений
  • Город: Киев
  • Seo

Отправлено 29.07.2012, 08:28

Цитата

если на сайте выключены фильтры
как задать дефолтные фильтры цмске для новых сайтов?

Цитата

zfilter_text2html
а что этот фильтр сделает с <br> в тексте? и как им будут обрабатываться ругие html-теги в тексте?

Цитата

Диезы используются только для парсера.
текст в одной строке с диезами после них тоже считается тайтлом и h1, если не указано другого в рамках одной страницы.

Цитата

В теле страницы можно использовать тэг <!--nextpage-->, который будет считаться признаком начала следующей подстраницы. Если этого тэга нет и включено автоматическое деление страницы на подстраницы, то движок руководствуется настройкой количества символов, после достижения которого рекомендуется создавать следующую подстраницу.
у вас некстпейдж в html-комментарии, зачем? у вас же парадигма внутренних тегов - @@, вроди...

с таймом и паблишем понятно, просто для разных методов записи времени, сделали разные функции. хорошо.

#4 zebrum

zebrum

    Администратор

  • Главные администраторы
  • PipPipPip
  • 636 сообщений

Отправлено 01.08.2012, 10:37

 malina (29.07.2012, 08:28) писал:

как задать дефолтные фильтры цмске для новых сайтов?


Дефолтные фильтры можно заменить кастомизировав движок. Сделайте сборку Zebrum Lite и используйте ее при создании новых сайтов.



Цитата

а что этот фильтр сделает с <br> в тексте? и как им будут обрабатываться ругие html-теги в тексте?

<br /> остаётся, все абзацы (двумя строчками пустая строка) оборачиваются в тэги <p>;
обычные переходы на новую строку преобразуются в <br />, т.е. если у вас уже есть переходы на новую строку и <br />, то этот фильтр может добавть новых <p> и <br /> тэгов


Цитата

текст в одной строке с диезами после них тоже считается тайтлом и h1, если не указано другого в рамках одной страницы.

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


Цитата

у вас некстпейдж в html-комментарии, зачем? у вас же парадигма внутренних тегов - @@, вроди...

Этот комментарий означает то место, где заканчивается одна часть подстраницы и начинается другая. разбивка на страницы может быть выключена и тогда комментарии останутся как комментарии.  с символов @@ начинаются свойства страницы, в то время как <!--nextpage--> это метка в тексте


Исходные коды движка Zebrum Lite открыты, поэтому вы можете посмотреть что и как происходит в том или ином случае.

#5 exolon

exolon

    Активный участник

  • Пользователи Zebrum CMS
  • PipPipPip
  • 38 сообщений

Отправлено 10.08.2012, 15:30

Цитата

Исходные коды движка Zebrum Lite открыты, поэтому вы можете посмотреть что и как происходит в том или ином случае.
Точно :) Код нормальный, все разложено по классам, быстрее в коде глянуть, чем писать на форуме или рыскать по документации.




Количество пользователей, читающих эту тему: 1

0 пользователей, 1 гостей, 0 скрытых пользователей