Мы в твиттере Мы в телеграме!

Провеббер » DataLife Engine » DLE хаки » Склонения слов в DLE (yet another way)

Набор в команду! Ведется набор в команду, для наполнения сайта новым, интересным контентом. Если у тебя есть предложения, свободное время, ты обладаешь интересным контентом, и хочешь поделиться с другими?
Обращайся к нам в ЛС группы Вконтакте.

Склонения слов в DLE (yet another way)

Данный материал предоставлен сайтом ProWebber.cc исключительно в ознакомительных целях. Администрация не несет ответственности за его содержимое.
Скачать бесплатно Склонения слов в DLE (yet another way).

Склонения слов в DLE (yet another way)

Учим celsofta'a DLE красиво склонять слова в шаблонах и не только.

Берем и смотрим код здесь (документ в utf8) либо качаем.
Вставляем его содержимое в самый низ файла engine/modules/functions.php вместо: ?> (если есть)

Открываем корневой index.php и находим:
echo $tpl->result['main'];

Выше вставляем:
$tpl->result['main'] = preg_replace("#\[declination=(\d+)\](.+?)\[/declination\]#ies", "word_declination('\\1', '\\2')", $tpl->result['main']);


Установка заверешена.

Пример использования в шаблоне полной новости fullstory.tpl:
[declination={comments-num}]комментари|й|я|ев[/declination]

[declination={views}]просмотр|а|ов[/declination]


Таким способом любое число (либо свое, либо выводимое модулем) мы можем скормить declination и получить человеческое слово.
Еще примеры склоненяемых слов в других его вариациях задокументированы в самом коде по ссылке выше.

Have a nice day!

PS. Источник картинки :)


Дополнительные ссылки на скачивание ТОЛЬКО для зарегистрированных


+29
Просмотры: 8 535 :: Комментарии (25) :: :: Нужна помощь? Задайте вопрос на форуме ::
Уважаемый посетитель, Вы зашли на сайт как незарегистрированный пользователь.
Мы рекомендуем Вам зарегистрироваться либо войти на сайт под своим именем.

#1aL13n

  • 5 марта 2013 17:07
  • Регистрация: 16.09.2010
  • Был(а) онлайн: 19.12.2013
  • Комментариев: 16
  • 0
Парсер код не схавал, будет работать :)

#2ReliZ

  • 5 марта 2013 18:05
  • Регистрация: 25.08.2011
  • Был(а) онлайн: 7.11.2022
  • Комментариев: 244
  • 0
Однозначно очень полезно)
За склонение запрос в базу идёт?

#3aL13n

  • 5 марта 2013 18:37
  • Регистрация: 16.09.2010
  • Был(а) онлайн: 19.12.2013
  • Комментариев: 16
  • 0
Цитата: ReliZ
За склонение запрос в базу идёт?
Ни в коем случае.

#4rashpil

  • 5 марта 2013 20:14
  • Регистрация: 25.12.2009
  • Был(а) онлайн: 4.04.2016
  • Комментариев: 123
  • 0
ReliZ, Там же написано "$tpl->result['main'] =" При такой конструкции можно понять, что обработка именно на выводе!

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

Кстати, а как такой скрипт обработает к примеру со словом "год"? Ведь в контексте возраста, во множественном числе оно звучит как "лет".

#5aL13n

  • 5 марта 2013 20:30
  • Регистрация: 16.09.2010
  • Был(а) онлайн: 19.12.2013
  • Комментариев: 16
  • 0
Цитата: rashpil
Кстати, а как такой скрипт обработает к примеру со словом "год"? Ведь в контексте возраста, во множественном числе оно звучит как "лет".

Легко. Например, так:
[declination={views}]|год|года|лет]

Похожий пример с "детьми" идет с кодом (| в самом начале - обязателен).

#6ShoMpeT

  • 5 марта 2013 20:45
  • Регистрация: 10.05.2010
  • Был(а) онлайн: 20.10.2019
  • Комментариев: 13
  • -1
how this hack is working? i can't understand scratch_one-s_head

#7redissx

  • 5 марта 2013 21:10
  • Регистрация: 12.09.2010
  • Был(а) онлайн: 29.02.2024
  • Комментариев: 113
  • +1
ShoMpeT, example:
english: 1 comment, 2 comments, ... , 10 comments
russian: 1 комментарий, 2 комментария, ..., 5 комментариев, ..., 21 комментарий, 22 комментария, ...... etc

--------------------

#8rostomi

  • 6 марта 2013 18:36
  • Регистрация: 3.05.2010
  • Был(а) онлайн: 24.09.2014
  • Комментариев: 5
  • 0
how this hack is working? i can't understand

#9vitnet

  • 6 марта 2013 21:46
  • Регистрация: 18.09.2010
  • Был(а) онлайн: 12.05.2024
  • Комментариев: 304
  • 0
rostomi,
You explained to the nature of the higher

Declension of words in DLE

#10SaD

  • 6 марта 2013 22:10
  • Регистрация: 23.02.2011
  • Был(а) онлайн: 8.01.2020
  • Комментариев: 498
  • 0
Уже давно был такой хак...всё проблема лишь в том, что его нужно переустанавливать каждый раз. Нужно репортить целсофту, чтоб включил подобную функцию

--------------------

#11aL13n

  • 6 марта 2013 22:24
  • Регистрация: 16.09.2010
  • Был(а) онлайн: 19.12.2013
  • Комментариев: 16
  • 0
Цитата: SaD
Уже давно был такой хак...всё проблема лишь в том, что его нужно переустанавливать каждый раз. Нужно репортить целсофту, чтоб включил подобную функцию
Пруф линк на хак, который "был давно" подобный этому :)
Целсофт уже в курсе: http://forum.dle-news.ru/index.php?showtopic=62684

#12SaD

  • 6 марта 2013 23:13
  • Регистрация: 23.02.2011
  • Был(а) онлайн: 8.01.2020
  • Комментариев: 498
  • 0
aL13n,
http://dletweak.ru/hacks/223-pravilnoe-okonchanie-kolichestva-kommentariev-by.ht
ml

--------------------

#13aL13n

  • 7 марта 2013 01:20
  • Регистрация: 16.09.2010
  • Был(а) онлайн: 19.12.2013
  • Комментариев: 16
  • 0
SaD,
читать не умеем? Какие сходства?
"Два изменения в файлах (копипаст)" vs "Куча изменения в каждом файле, где требуется вывести нужное слово".
В общем, проехали, но ты малость не в тему ляпнул. Прав лишь в том, что изменения в движке все же нужно провести.

#14SaD

  • 7 марта 2013 03:16
  • Регистрация: 23.02.2011
  • Был(а) онлайн: 8.01.2020
  • Комментариев: 498
  • 0
aL13n,
Что именно читать нужно? Давай прочитаю.
Я сказал что хак который данную логику реализует, уже давно был. И что проблема не в реализации, а в том что рано или поздно, нужно будет двиг обновлять. И от того что эта реализация "почище", легче разработчикам не станет.

В общем, проехали, но ты малость не в тему ляпнул

Будь попроще. Не нужно агриться на всех подряд.

--------------------

#15Sander

  • 7 марта 2013 04:46
  • Регистрация: 19.02.2010
  • Был(а) онлайн: 20.04.2021
  • Комментариев: 327
  • +4
Суну свои пять копеек, объединив идею al13n-а, реализацию celsoft-а и нежелание переустанавливать каждый раз SaD-а.
Получилось вот что..
PHP файл word.php создать в папке engine/modules с содержимым:
Парсер съедает код, посему берем код тут.

--------------------

#16aL13n

  • 7 марта 2013 13:24
  • Регистрация: 16.09.2010
  • Был(а) онлайн: 19.12.2013
  • Комментариев: 16
  • 0
Sander,
спасибо. В самый раз, "DLE style", SaD будет рад :)
SaD,
корону можешь снять, верстай хорошо и будь молодцом :)

#17Myfysalim

  • 7 марта 2013 13:55
  • Регистрация: 25.05.2010
  • Был(а) онлайн: 19.04.2015
  • Комментариев: 90
  • +1
aL13n,
Не вижу конфликта, что бы в каждом сообщении цитировать SaD, это больше похоже на неприязнь.
В конечном счете никто вам ничего плохого не говорит, и ничего не придает критике.

#18mikro99

  • 7 марта 2013 22:52
  • Регистрация: 11.03.2011
  • Был(а) онлайн: 6.08.2015
  • Комментариев: 31
  • 0
спасибо. В самый раз

#19aL13n

  • 8 марта 2013 02:48
  • Регистрация: 16.09.2010
  • Был(а) онлайн: 19.12.2013
  • Комментариев: 16
  • 0
Myfysalim,
аналогично, не вижу здесь никакого конфликта :)

#20aL13n

  • 8 марта 2013 03:25
  • Регистрация: 16.09.2010
  • Был(а) онлайн: 19.12.2013
  • Комментариев: 16
  • +4
Но я все же выскажусь здесь... чтобы понимали все, почему я начинаю "агриться".
Вместо того, чтобы говорить "да, чувак, это круто, но лучше стоит сделать так, потому что..." и аргументировать свое высказывание и привести пример нормальный. И свое мнение высказывать не с точки зрения дизайнера (может быть в лице верстальщика), которому действительно плевать на реализацию - он не очень сильно понимает в методолгии в целом.
Вместо всего этого, конечно, гораздо проще "обосрать" (в кавычках, прошу заметить), нежели чем-то помочь.
Sander не из тех людей (не знаю, может потому что мы знакомы или просто так сошлось), который будет обсирать идею и орать во все дыры, что "это уже было, автор мудак, идея - говно!".

И некоторые удивляются, почему нет централизованного СООБЩЕСТВА? Да с таким подходом - его НИКОГДА не будет!

У меня лично есть очень много вещей, которые некоторым даже и не снились (чуть дальше - почему не снились), среди которых: торрент-трекер (без сторонних движков типа xbt,tbd, torrentpier и прочих умных названий) с очередями и балансировщиком на случай больших нагрузок; работа с социальными сетями (с авторизацией, управлением контентом и прочее); огромное количество своих собственных библиотек для работы с медиаконтентом (аудио и видео). И я лично готов их предоставить бесплатно. Черт возьми, да я не один такой. Я знаю как минимум двоих. Но они боятся. Боятся реакции пользователя. Все, что бесплатное и НЕ работает - говно. Все, что платное и НЕ работает - охуенно, потому что клиенты думают, что им ОБЯЗАНЫ это исправить, но они отчасти правы.

На моей памяти не было ни одного действительно крутого бесплатного или платного дополнения, который был бы создан двумя и более программистами. Все одиночки, зарабатывают как могут. Но попробовать помочь либо просто посоветоваться... НИКОГДА. И, как мне кажется, так оно всегда и будет.

1 2
Предыдущая    Следующая
Информация
Посетители, находящиеся в группе Гости, не могут оставлять комментарии к данной публикации.

Архив новостей
Ноябрь 2024 (1)
Октябрь 2024 (171)
Сентябрь 2024 (13)
Август 2024 (61)
Июль 2024 (12)
Июнь 2024 (30)

Последние комментарии: