Forum. MyNuke.ru

Forum. MyNuke.ru (http://forum.mynuke.ru/index.php)
-   Модули (http://forum.mynuke.ru/forumdisplay.php?f=17)
-   -   News + Content (http://forum.mynuke.ru/showthread.php?t=3989)

BFG 01.07.2011 16:18

News + Content
 
Soniks, поскольку ты один тут всем помогаешь, обращаюсь к тебе...

Можно ли обьединить модули News и Content таким образом, что-бы при написании в Новостях, например, Иван Иванов этот текст автоматически становился ссылкой на определённую статью в Content???

Вроде ясно изьяснил идею...

Soniks 02.07.2011 12:01

BFG А как вы хотите что бы система определяла на какую именно статью должна вести ссылка. Не легче ли вручную давать? или вы хотите что то на подобии wikiпедии?

BFG 04.07.2011 03:33

вот в ручную я пока и делаю )))
а так записать бы куда-нить что при сочетании букв, например, "яблоко" ссылка вела на статью с id=1, а "апельсин" id=2
как-то так...

Soniks 04.07.2011 14:34

Вот пример использования функции: http://danneo.com/article/read/Glossary.html. Достаточно добавить эту функцию в модуль админки новостей и добавить вызов функции перед сохранением текста в БД

BFG 04.07.2011 21:27

спасибо, ох и наковыряюсь )))
не совсем понял как именно сделать что-бы появлялись конкретные ссылки
беру из образца:
PHP код:
 хостинг|хостинг
 cms
|cms
 php
|php 

файл glossary.txt должен иметь примерно следующее содержание:
Код HTML:
хостинг|<a href=www.mysite.ru>хостинг</a> cms|<a href=www.mysite.ru>cms</a> php|<a href=www.mysite.ru>php</a>

так что ли???

только не понятно в какой файл и в какое место модуля News вставлять саму функцию???
и где конкретно делать вызов этой самой функции...

ох и люблю я НЮКУ-КОВЫРЯКУ )))

Soniks 07.07.2011 15:41

Цитата так что ли???

Да правильно.
Цитата только не понятно в какой файл и в какое место модуля News вставлять саму функцию???
и где конкретно делать вызов этой самой функции...

Файл: /modules/news/admin/index.php
Добавить можно в функциях postStory() и postAdminStory()
Добавив перед запросом в БД "Insert" $bodytext = GlossaryFilter($bodytext);

BFG 07.07.2011 23:11

что-то не получается...
добавил функцию в /modules/news/admin/index.php
а в функции postAdminStory()
вставил вот так:
PHP код:
 $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() так:
PHP код:
 $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:

Soniks 08.07.2011 01:28

Цитата что-то не получается...

и что в итоге происходит?

BFG 08.07.2011 10:16

Цитата и что в итоге происходит?

остаётся тоже самое, слова из файла не меняются на ссылки, а остаются просто словами...

Soniks 18.07.2011 14:15

Вы добавили эту возможность для запрограммированных новостей. Ведь вы ставите для запроса в таблицу autonews

BFG 19.07.2011 18:56

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

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

Soniks 19.07.2011 20:05

Все правильно и не будет, мы делали это только для основного текста.
Поищите запрос в БД (INSERT) к таблице _nuws
Если требуется еще и к анонсу, то стоит тоже проделать сданными содержащиеся в функции $hometext

BFG 19.07.2011 21:02

Спасибо Soniks, всё получилось, пока только для основного текста, дальше доковыряю по необходимости...
правда нужно было искать таблицу _stories, ну с этим то я разобрался )))

Вот только такой ещё вопрос:
вот например такой glossary.txt
PHP код:
 Виллаш-Боаш|<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

И если пишу: Лэмпарду - меняет на Лэмпарду (тут всё отлично),
а если Виллаш-Боашу - меняет на Виллаш-Боаш у. (добавляет пробел перед "у")...
с чем это может быть связано?

Soniks 19.07.2011 22:53

добавляет пробел т.к. происходит замена которая указана в текстовом файле. в конце имеется пробел, он и вставляется. как вариант решения проблемы, либо удалять пробелы в файле в конце строки или изменить функцию чуть-чуть:
PHP код:
 $text str_replace($token[0],trim($token[1]),$text); // заменяем его на ссылку 

BFG 19.07.2011 23:32

Всё, огромное спасибо тебе Soniks разобрался...
пора и самому рнр учить :oooo:


Часовой пояс GMT +4, время: 22:30.

Copyright © 2005 by Soniks