создние глоссария

Подскажите как лучше всего организовать глоссарий на сайте.
Заранее спасибо.

Искать по форуму пробовали?

Искать по форуму пробовали?

если честно, то не искал

на сайте используется плагин IMM-Glossary
но работает с русскими терминами не аккуратно. Например задав определение для слова "факт" он выделяет этот термин как в словах "ФАКТы" так и в слове "ФАКТический".

Есть, конечно, идея для слов, которые есть в глоссарии в скобке задавать английский перевод и уже это слово будет вести в глоссарий. Но хотелось бы попробовать что-нить более эффективное и менее трудоёмкое.

С русским "менее трудоемкое" – это только бросить нафиг 🙂

Так может надо малость подправить плагин? Не смотрели, как он устроен? Берет начало слова?

С русским "менее трудоемкое" - это только бросить нафиг :)

Так может надо малость подправить плагин? Не смотрели, как он устроен? Берет начало слова?

в php я не силён. могу привести код плагина, если Вы готовы мне помочь разобраться в нём.

Плагин я и сам найду. Вот где б найти час та натхнення?..

Кстати, последняя версия какая? Или линк дайте.

вот линк:
http://www.internetmarketingmonitor.com/wp-content/uploads/IMM-Glossary.zip
вот описание:
http://www.internetmarketingmonitor.org/word-press-plugins/imm-glossary-wordpress-plugin/

При помощи молотка, зубила и какой-то матери уговорил плагин работать с русским.

Vitality_obn, объясните, чего Вы от него хотите? Надеюсь, Вы догадываетесь, что морфологический анализ каждого слова в записи может занять очень много времени.

При помощи молотка, зубила и какой-то матери уговорил плагин работать с русским. 

Vitality_obn, объясните, чего Вы от него хотите? Надеюсь, Вы догадываетесь, что морфологический анализ каждого слова в записи может занять очень много времени.

очень много времени это сколько?
хочется, чтобы глоссарий делал ссылки на слова, которые в нём забиваются. если забито слово "факт", то он чтобы в посте получали ссылки в глоссарий слова "факт, фактом, факты и прочее", а слова, например, "фактический" не затрагивались.

Чтобы отличить "фактами" от "фактический" в плагине нужно сделать строгий поиск (это не очень сложно). Но тогда нужно проверять все формы слова. В общем случае существительное имеет до 12 словоформ. Значит, время работы увеличится в 12 раз. Плюс время поиска форм слова по словарю. "Велик могучим русский языка!" (с)Александр Иванов.

Чтобы отличить "фактами" от "фактический" в плагине нужно сделать строгий поиск (это не очень сложно). Но тогда нужно проверять все формы слова. В общем случае существительное имеет до 12 словоформ. Значит, время работы увеличится в 12 раз. Плюс время поиска форм слова по словарю. "Велик могучим русский языка!" (с)Александр Иванов.

ссылки разве генерируются не один раз при добавлении нового слова в глоссарий? или плагин постоянно работает и постоянно проверяет весь сайт?
а по поводу проверять все формы слова. нельзя разве сделать для поиска слова такую формулу: подсчитать кол-во букв (симоволов), в том числе и пробелы (если это словосочитание) и прибавить к нему 2 буквы. тем самым мы получаем, что будет искаться слово "факт" и ещё его склонения. А вот другие слова, имеющие посредственное отношение к слову будут исключены?
или это будет сложно реализовать?

Ссылки генерируются при выводе поста на сайт.

"+2 буквы" дадут ложняков немеряно. Не все слова такие простые, как "факт".

по поводу "+2 буквы" согласен, будет много лишнего.

Тогда если говорить о времени, то сколько это будет в секундах/минутах? Если строго прописать несколько словоформ.

Это зависит от сервера, его загрузки, размера постов, количества слов… С уверенностью можно сказать только одно – не более max_execution_time из php.ini 😉

Ссылки генерируются при выводе поста на сайт.

разве ссылки генерируются не тогда, когда добавляешь новое слово в глоссарий? ведь если я поменял какое-то слово, или добавил новое, то только в этом случае будет запускаться плагин для создания ссылок и проверка по всему сайту.

но раз другого варианта не прослеживается для жесткого поиска в глоссарии, то может быть Вы подскажите куда в .php добавлять более жёсткие критерии для поиска?

или есть на примете другой способ по созданию глоссария?
Была идея по использованию плагина "псевдокод", дабы заменить необходимые русские слова и их производные на слова с переводом: "факт" -> "факт (fact)"
но почему-то со словами плагин отказался работать.

[quote=Ю.Б.]Ссылки генерируются при выводе поста на сайт.

разве ссылки генерируются не тогда, когда добавляешь новое слово в глоссарий?[/quote]
Не собираюсь с Вами спорить.

[quote=Vitality_obn][quote=Ю.Б.]Ссылки генерируются при выводе поста на сайт.

разве ссылки генерируются не тогда, когда добавляешь новое слово в глоссарий?[/quote]
Не собираюсь с Вами спорить.[/quote]
Я не спорю, а спрашиваю. 🙂

Ю.Б. поможите разобраться с кодом? где нужно сделать изменения для строго поиска слов для глоссария?

1242-1243:

$Content = preg_replace ( '#([^\pL])(' . preg_quote ( $Term['Title'] , '#' ) . ')([^\pL])#Uui' , '${1}%%%${2}%%%${3}' , $Content , $Limit ) ;
$Private['#([^\pL])%%%(' . preg_quote ( $Term['Title'] , '#' ) . ')%%%([^\pL])#Uui'] = $Link ;

спасибо.
а можно какой-нить комментарий? 🙂

Какой-нить можно. Вам какой? 🙂

почему заменили ‘\W’ на ‘\pL’ и ‘#Ui’ на ‘#Uui’?

Потому что должно работать с русским и в юникоде.

ясно
вечером проверю. спасибо большое. 🙂

запустил плагин в локальной версии, но появилась ошибка при входе на страничку глоссария:

"Query: SELECT * FROM `wp_IMM-Glossary` ORDER BY `Title` ASC LIMIT -5 , 5Error: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near ‘-5 , 5’ at line 1"

что необходимо поправить? заранее спасибо.

А кто его знает! У меня такой беды не было. В плагине таким матюком работа с базой написана, что без пол-литры не поймешь. Но по любому, LIMIT -5 – это бред.

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

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

В редакторе словаря портились буквы, вылечил заменой htmlentities на htmlspecialchar.

А на какую именно страницу ругается: в управлении или в настройках? Если в управлении, то попробуйте поменять в настройках количество выводимых на страницу (у меня стояло 10). Или зайти по ссылке /wp-admin/edit.php?Key=1&page=IMM-Glossary/IMM-Glossary.php

замену htmlentities на htmlspecialchar делали в этих 2х строчках:
"
<input type="text" id="Title" name="Title" value="<?php echo htmlentities ( $Term[‘Title’] , ENT_QUOTES ) ; ?>" size="35"/>

<textarea id="Definition" name="Definition" rows="10" cols="80"><?php echo htmlentities ( $Term[‘Definition’] , ENT_QUOTES ) ; ?></textarea>
" ?
ругался на странице, что находится на сайте. Вечером посмотрю, т.к под рукой сейчас нет возможности проверить.

Не знаю в каких и в скольких. У меня уже выработанный годами рефлекс: видишь "мусор" в формочке – меняй не глядя все entites на specialchars.

Сейчас посмотрю, что плагин делает….

Блин! Лучше бы я не смотрел. Это клиника!
SHOW TABLES LIKE ‘wp_IMM-Glossary’
SHOW TABLES;
CREATE TABLE `wp_IMM-Glossary`

UPDATE wp_options

А SELECT так и не увидел…

Ю.Б., подскажите, а каким образом можно попробовать задавать критерии поиска слов? В начале этой темы мы договорились, что нужно будет искать строго слово, например, "Факт", а также его производные, например: "факта, факту".
Можно ли где-то указать эти производные слова, но при этом, Чтобы они были невидимые на странице глоссария? Ведь то, что указывается в "Term", то будет и видимым.
Поняли о чём я? Как-нить можно это реализовать?
Заранее спасибо.

Ага, понял. Берем плагин и переписываем полностью. А еще лучше его просто выкинуть, потому что… ну, я постом выше написал.

А более конструктивные предложения есть? Не столь кардинальные? Может быть есть какой-нить плагин на примете с подобным действием?

Ага, понял. Берем плагин и переписываем полностью. А еще лучше его просто выкинуть, потому что... ну, я постом выше написал.

Ю.Б.,

а если реализовать такое окно в управлении, как и для ввода термина (Term), но в которое можно было бы ввести слова из определения, но в падежах (или интересующих комбинациях). И слова в этом поле, чтобы были видимы только в управлении, а на странице глоссарий сайта слова из этого поля были не видны, но в постах бы искались и вели в глоссарий.
Насколько это будет сложно?
насколько я понимаю, здесь нужен в основном простой копи-паст. Но php я только изучаю и не очень силён.

насколько я понимаю, здесь нужен в основном простой копи-паст.

Бог в помощь! Заодно и php выучите. 😀

Ю.Б. тут, пожалуй, мне нужен совет, насколько это будет сложно и обосновано?

Пока не сделаешь, не узнаешь насколько сложно. Тем более, когда речь идет о переделке очень горбатой программы. Но могу точно сказать, что это задачка не для 1-го класса.

Anonymous
Отправить
Ответ на: