|
|
|
| Здравствуйте. Помогите решить такую задачу. У меня есть Ajax скрипт который берёт информацию из текстового файла и выводит на сайте. Проблема в том, что для добавления новой записи этот файл нужно заново закачивать на сервер. Получается как-то неудобно. Я хочу сделать в админке текстовое поле и вводить в него каждую новую запись с новой строки, после нажатия клавиши Сохранить в txt файл добавлялась новая строка(ки) с определённым форматированием (так требует скрипт). Админка темы создана мной в Вордпресс, в ней и нужно создать это поле.
Структура txt файла выглядит так.
<!--Wrap each ticker cotent inside <div class="message"> tag -->
<div>
<div class="message">
текст
</div>
<div class="message">
текст 2
</div>
</div>
|
Возможно есть готовое решение где-то. Помогите пожалуйста. Спасибо! | |
|
|
|
|
|
|
|
для: Deniska
(16.05.2010 в 16:26)
| | и куда в файле нужно дописать?
<!--Wrap each ticker cotent inside <div class="message"> tag -->
<div>
<div class="message">
текст
</div>
<div class="message">
текст 2
</div>
<div class="message">
новый текст
</div>
</div>
|
так? | |
|
|
|
|
|
|
|
для: Valick
(16.05.2010 в 16:32)
| | так точно. Каждое новое сообщение добавляется в див меседж. | |
|
|
|
|
|
|
|
для: Deniska
(16.05.2010 в 17:10)
| | самый простой вариант
<?php
function new_mess($file, $mess)
{
if(!file_exists($file)) {echo "файл не существует, создайте файл"; exit;}
$f=fopen($file, "r+t") or die("Невозможно открыть файл");
while(!flock($f, LOCK_EX+LOCK_NB)) sleep(1);
// Файл заблокирован, можно производить запись
fseek($f, -6, SEEK_END);
fwrite($f,"<div class='message'>\n".$mess."\n</div>\n\n</div>");
}
new_mess("text.txt", "новая строка");
?>
|
| |
|
|
|
|
|
|
|
для: Valick
(16.05.2010 в 18:10)
| | Спасибо! Что-то я не пойму как его прикрутить к моей админке. Меню в админке создано мной - оно управляет темой. Структура этого меню выглядит так:
$options = array(
array( "name" => "Настройки",
"type" => "title"),
array( "type" => "open"),
array( "name" => "Имя поля",
"desc" => "Описание",
"id" => $shortname."_script",
"type" => "textarea",
"options" => Здесь скорее всего и должна быть вписана эта функция,
"std" => ""),
array( "type" => "close")
);
|
В тело темы я прописываю скрипты: главный в head, а второй в том месте где должен быть вывод. Выглядит он вот так :
<script type="text/javascript">
var xmlfile="http://example.com/wp-content/themes/bla-bla/file.txt" //path to ticker txt file on your server.
new ajax_ticker(xmlfile, "ajaxticker1", "someclass", [5500], "fade")
</script>
|
При чем никаких дивов вводить не надо. Скрипт сам создает их, нужно лишь в css внести стили.
P.S. Пробовал в options вставить $mess и $file и сайт перестает работать.Высвечивается надпись Файл не создан. | |
|
|
|