Помощник
|
небольшой хак для DLE 9.2 |
Gregory
|
Сообщение
#1
|
||
|
|
||
|
|||
Timo |
24.6.2011, 15:23;
Ответить: Timo
Сообщение
#2
|
|
В принципе, сделать можно, но как будет отображаться тег {PAGEBREAK} не скажу, возможно понадобится перестроение новостей...
|
|
|
Gregory
|
Сообщение
#3
|
|
тогда нужно назначить для определенных категорий. это для онлайн библотеки и кое-какого друго сайта. Просто возникает необходимость в размещении больших текстов.
Будь добр помоги, а то на каких форумах ни писал, ни кто даже ответа не дал. Все как рыбы молчат -------------------- |
|
|
Timo |
24.6.2011, 18:06;
Ответить: Timo
Сообщение
#4
|
|
Какая версия ДЛЕ? На сколько возможно, что, к примеру, когда нужно вставлять тег {PAGEBREAK} после 1000 символа, что 999 будет частью html-тега img и т.п.? Ход моей мысли ясен? Тут простеньким "иф-элсом" вряд ли выйдет все сделать...
Сообщение отредактировал Timo - 24.6.2011, 18:07 |
|
|
Rampage |
24.6.2011, 18:16;
Ответить: Rampage
Сообщение
#5
|
|
Какая версия ДЛЕ? небольшой хак для DLE 9.2 -------------------- |
|
|
Gregory
|
Сообщение
#6
|
|
999 будет частью html-тега img и т.п.? Ход моей мысли ясен? понимаешь, зачем в онлайн библиотеке картинки? они ставятся в самом начале, так что попробуй пожалуйста через if. и кроме сплошного текста там ничего в заданный рубикон не попадет) -------------------- |
|
|
Timo |
25.6.2011, 17:53;
Ответить: Timo
Сообщение
#7
|
|
Ниже привожу пример скрипта, который через заданное количество символов вставляет в полную новость шаблон. Алгоритм работы скрипта:
- подключение к базе данных; - проверка длины полной новости, если длина новости (количество символов) больше заданного количества символов через которое нужно вставлять шаблон, то выполняется вставка шаблона; - обновление полной новости; - переход к следующей новости; ... - отключение от базы данных. Инструкция по использованию: - скрипт используется на Ваш страх и риск, предварительно я его протестировал, результат работы меня удовлетворил, в новостях появилась постраничная навигация (пейджер); - сделайте бэкап базы данных, дабы гарантировать целостность данных; - создайте файл в корне сайта, к примеру, с названием pagebreak.php и вставьте в него код скрипта, который приведен ниже; - в файле pagebreak.php установите нужные Вам настройки (шаблон, количество символов через которое в полную новость будет вставляться шаблон); - запустите скрипт. pagebreak.php <?php define ('DATALIFEENGINE', true); // Базовые настройки $pattern = '{PAGEBREAK}'; // Шаблон $length = 128; // Количество символов через которое в полную новость будет вставляется шаблон require_once './engine/classes/mysql.class.php'; require_once './engine/data/dbconfig.php'; $result = $db->query ('SELECT `id`, `full_story` FROM `' . PREFIX . '_post`;'); $num_rows = $db->num_rows ($result); if ($num_rows <> 0) { for ($i = 0; $i < $num_rows; $i++) { $row = $db->get_row ($result); $news_id = intval ($row['id']); $full_story = $row['full_story']; $full_story_len = strlen ($full_story); if ($full_story_len > $length) { $full_story_tmp = ''; for ($j = 0; $j < $full_story_len; $j++) { $full_story_tmp .= $full_story[$j]; if ($j >= $length && $j%$length == 0) { $full_story_tmp .= $pattern; } } $full_story = addslashes ($full_story_tmp); $result2 = $db->query ('UPDATE `' . PREFIX . '_post` SET `full_story` = "' . $full_story . '" WHERE `id` = ' . $news_id . ';'); $db->free ($result2); } } } $db->free ($result); $db->close (); ?> Вроде все. Надеюсь, что у Вас все будет отлично |
|
|
Gregory
|
Сообщение
#8
|
|
огромнейшее спасибо вам! и еще маленький вопрос. Скрипт запускать каждый раз, когда добавил большую статью или же он автоматом разбивает на страницы? и где тут изменить категорию?
Сообщение отредактировал Gregory - 25.6.2011, 18:19 -------------------- |
|
|
Timo |
25.6.2011, 18:31;
Ответить: Timo
Сообщение
#9
|
|
Это пример скрипта для всех новостей, которые уже добавлены. Если запустить скрипт снова, то новости, для которых ранее был запущен скрипт будут обработаны снова...
|
|
|
Gregory
|
Сообщение
#10
|
|
ладно, и на этом еще раз спасибо тему можно офф
-------------------- |
|
|
|
Похожие темы
Тема | Ответов | Автор | Просмотров | Последний ответ | |
---|---|---|---|---|---|
Обучение Email Рассылкам + Софт Для Автоматизации (100к в сутки с сервера) | 10 | zennoboss | 4624 | Сегодня, 5:20 автор: Skyworker |
|
Посоветуйте массажер для спины и шеи | 9 | Boymaster | 874 | Вчера, 13:56 автор: Vmir |
|
Какой % отказов нормален для сайта? | 14 | Aloof | 3376 | Вчера, 13:50 автор: Vmir |
|
Люблю творить! Статьи для вас Копирайтинг- моя жизнь! |
312 | Zoya83 | 190686 | Вчера, 7:51 автор: DimonX |
|
Современный сервис для быстрого и безопасного обмена валют. | 15 | CryptoTims | 4955 | 22.4.2024, 22:32 автор: CryptoTims |
Текстовая версия | Сейчас: 24.4.2024, 8:58 |