View Full Version : News + Content
Soniks, поскольку ты один тут всем помогаешь, обращаюсь к тебе...
Можно ли обьединить модули News и Content таким образом, что-бы при написании в Новостях, например, Иван Иванов этот текст автоматически становился ссылкой на определённую статью в Content???
Вроде ясно изьяснил идею...
BFG А как вы хотите что бы система определяла на какую именно статью должна вести ссылка. Не легче ли вручную давать? или вы хотите что то на подобии wikiпедии?
вот в ручную я пока и делаю )))
а так записать бы куда-нить что при сочетании букв, например, "яблоко" ссылка вела на статью с id=1, а "апельсин" id=2
как-то так...
Вот пример использования функции: http://danneo.com/article/read/Glossary.html. Достаточно добавить эту функцию в модуль админки новостей и добавить вызов функции перед сохранением текста в БД
спасибо, ох и наковыряюсь )))
не совсем понял как именно сделать что-бы появлялись конкретные ссылки
беру из образца:
хостинг|хостинг
cms|cms
php|php
файл glossary.txt должен иметь примерно следующее содержание:
хостинг|<a href=www.mysite.ru>хостинг</a>
cms|<a href=www.mysite.ru>cms</a>
php|<a href=www.mysite.ru>php</a>
так что ли???
только не понятно в какой файл и в какое место модуля News вставлять саму функцию???
и где конкретно делать вызов этой самой функции...
ох и люблю я НЮКУ-КОВЫРЯКУ (http://munuke.ru) )))
так что ли???
Да правильно.
только не понятно в какой файл и в какое место модуля News вставлять саму функцию???
и где конкретно делать вызов этой самой функции...
Файл: /modules/news/admin/index.php
Добавить можно в функциях postStory() и postAdminStory()
Добавив перед запросом в БД "Insert" $bodytext = GlossaryFilter($bodytext);
что-то не получается...
добавил функцию в /modules/news/admin/index.php
а в функции postAdminStory()
вставил вот так:
$bodytext = GlossaryFilter($bodytext);
$result = $db->sql_query("insert into ".$prefix."_autonews values (NULL, '$catid', '$aid', '$subject', '$date', '$hometext', '$bodytext', '$topic', '$author', '$notes', '$ihome', '$alanguage', '$acomm', '$associated')");
а в функции postStory() так:
$bodytext = GlossaryFilter($bodytext);
$result = $db->sql_query("insert into ".$prefix."_autonews values (NULL, '$catid', '$aid', '$subject', '$date', '$hometext', '$bodytext', '$topic', '$author', '$notes', '$ihome', '$alanguage', '$acomm', '$associated')");
понимаю что делаю что-то где-то не так... а что именно и где не понимаю. :cry:
что-то не получается...
и что в итоге происходит?
и что в итоге происходит?
остаётся тоже самое, слова из файла не меняются на ссылки, а остаются просто словами...
Вы добавили эту возможность для запрограммированных новостей. Ведь вы ставите для запроса в таблицу autonews
точно, ура, в запрограммированных работает, а куда вставить что-бы и в обычных тоже работало?
и ещё, не работает в начальном тексте статьи, в том который отображается на главной, и когда статью полностью просматриваешь в начальном тексте не фурычит...
Все правильно и не будет, мы делали это только для основного текста.
Поищите запрос в БД (INSERT) к таблице _nuws
Если требуется еще и к анонсу, то стоит тоже проделать сданными содержащиеся в функции $hometext
Спасибо Soniks, всё получилось, пока только для основного текста, дальше доковыряю по необходимости...
правда нужно было искать таблицу _stories, ну с этим то я разобрался )))
Вот только такой ещё вопрос:
вот например такой glossary.txt
Виллаш-Боаш|<a href=/modules.php?name=Content&pa=showpage&pid=60 title="Андре Виллаш-Боаш"><b>Виллаш-Боаш</b></a>
Лэмпард|<a href=/modules.php?name=Content&pa=showpage&pid=9 title="Фрэнк Лэмпард"><b>Лэмпард</b></a>
И если пишу: Лэмпарду - меняет на Лэмпарду (тут всё отлично),
а если Виллаш-Боашу - меняет на Виллаш-Боаш у. (добавляет пробел перед "у")...
с чем это может быть связано?
добавляет пробел т.к. происходит замена которая указана в текстовом файле. в конце имеется пробел, он и вставляется. как вариант решения проблемы, либо удалять пробелы в файле в конце строки или изменить функцию чуть-чуть:
$text = str_replace($token[0],trim($token[1]),$text); // заменяем его на ссылку
Всё, огромное спасибо тебе Soniks разобрался...
пора и самому рнр учить :oooo:
MyNuke.ru