X   Сообщение сайта
(Сообщение закроется через 3 секунды)



 

Здравствуйте, гость (

| Вход | Регистрация )

2 страниц V   1 2 >
Открыть тему
Тема закрыта
> небольшой хак для DLE 9.2
Gregory
Gregory
Topic Starter сообщение 22.6.2011, 16:33; Ответить: Gregory
Сообщение #1


Здравствуйте smile.gif В общем нужно вот что, в новостях, в статических страницах нужно сделать так, чтоб после определенного кол-ва символов вставлялся код {PAGEBREAK}. заранее спасибо wink.gif

разве ни кто не сможет мне помочь?!


--------------------
0
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
Timo
Timo
сообщение 24.6.2011, 15:23; Ответить: Timo
Сообщение #2


В принципе, сделать можно, но как будет отображаться тег {PAGEBREAK} не скажу, возможно понадобится перестроение новостей...
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
Gregory
Gregory
Topic Starter сообщение 24.6.2011, 17:59; Ответить: Gregory
Сообщение #3


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


--------------------
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
Timo
Timo
сообщение 24.6.2011, 18:06; Ответить: Timo
Сообщение #4


Какая версия ДЛЕ? На сколько возможно, что, к примеру, когда нужно вставлять тег {PAGEBREAK} после 1000 символа, что 999 будет частью html-тега img и т.п.? Ход моей мысли ясен? Тут простеньким "иф-элсом" вряд ли выйдет все сделать...

Сообщение отредактировал Timo - 24.6.2011, 18:07
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
Rampage
Rampage
сообщение 24.6.2011, 18:16; Ответить: Rampage
Сообщение #5


Какая версия ДЛЕ?

небольшой хак для DLE 9.2


--------------------
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
Gregory
Gregory
Topic Starter сообщение 24.6.2011, 23:36; Ответить: Gregory
Сообщение #6


(Timo @ 24.6.2011, 18:06) *
999 будет частью html-тега img и т.п.? Ход моей мысли ясен?

понимаешь, зачем в онлайн библиотеке картинки? они ставятся в самом начале, так что попробуй пожалуйста через if. wink.gif

и кроме сплошного текста там ничего в заданный рубикон не попадет)


--------------------
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
Timo
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 ();
?>

Вроде все. Надеюсь, что у Вас все будет отлично wink.gif


Поблагодарили: (2)
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
Gregory
Gregory
Topic Starter сообщение 25.6.2011, 18:17; Ответить: Gregory
Сообщение #8


огромнейшее спасибо вам! и еще маленький вопрос. Скрипт запускать каждый раз, когда добавил большую статью или же он автоматом разбивает на страницы? и где тут изменить категорию? smile.gif

Сообщение отредактировал Gregory - 25.6.2011, 18:19


--------------------
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
Timo
Timo
сообщение 25.6.2011, 18:31; Ответить: Timo
Сообщение #9


Это пример скрипта для всех новостей, которые уже добавлены. Если запустить скрипт снова, то новости, для которых ранее был запущен скрипт будут обработаны снова...
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
Gregory
Gregory
Topic Starter сообщение 25.6.2011, 18:38; Ответить: Gregory
Сообщение #10


ладно, и на этом еще раз спасибо wink.gif тему можно офф


--------------------
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
2 страниц V   1 2 >
Открыть тему
Тема закрыта
2 чел. читают эту тему (гостей: 2, скрытых пользователей: 0)
Пользователей: 0


Свернуть

> Похожие темы

  Тема Ответов Автор Просмотров Последний ответ
Открытая тема (нет новых ответов) ✅ sms.chekons.com - ⭐ Сервис для получения SMS на реальные номера USA "Non-VoIP, безлим SMS, API" ⭐
Сервис для получения SMS на реальные номера USA
13 Chekon 4078 18.4.2024, 11:48
автор: Chekon
Открытая тема (нет новых ответов) Rebex.io – Ваша инновационная платформа для обмена криптовалюты!
1 Rebex 684 17.4.2024, 11:50
автор: Rebex
Открытая тема (нет новых ответов) Какой % отказов нормален для сайта?
11 Aloof 2819 16.4.2024, 12:48
автор: diviner99
Горячая тема (нет новых ответов) Betatransfer.net - прием платежей для HIGH RISK проектов, интернет эквайринг и мерчант онлайн оплат
54 arendator 34836 15.4.2024, 15:16
автор: arendator
Горячая тема (нет новых ответов) ⭕Антидетект браузер AdsPower для эффективной работы с мультиаккаунтами!
83 AdsPower 24425 14.4.2024, 22:52
автор: AdsPower


 



RSS Текстовая версия Сейчас: 20.4.2024, 1:19
Дизайн