Компонент "Похожий контент" для InstantCMS 2.1.2

+84
10.62K
Иллюстрация

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

Структура компонента, похожа на структуру компонента «Конструктор форм iForms» (опять он со своими формами facepalm). Другими словами, в админке компонента создаются наборы фильтров (я их назвал «релеванты») и затем выводятся в нужном месте полем, виджетом или вызовом хука непосредственно в коде.

Итак, приступим…

Скачиваем архив, устанавливаем, как обычно и идём

в настройки компонента «Похожий контент».

Создаём релевант.

Иллюстрация
Системное имя, заголовок и описание – стандартные поля, не требующие описания.

Галочка «Показывать на сайте» позволяет включать/отключать показ релеванта. Удобно если надо, временно убрать релевант без поиска места его установки.
В блоке настроек «Контент» указываются тип контента с которым будет работать релевант. Например, если указать здесь тип контента «Новости», то при выводе релеванта в статьях, будут отображаться новости, отфильтрованные по запросу собранному из статьи.
Категория и/или фильтры из набора помогут немного конкретизировать место поиска контента.

Иллюстрация
Блок настроек «Шаблон» отвечает за вывод релеванта на странице.

Галочками отмечаются вывод заголовков, изображений, описания, наименование категории, теги и блок с датой автором и количеством комментариев.
Изображение по умолчанию берётся из поля «photo». Но можно переопределить, указав в «Поле изображения» нужное поле выбранного типа контента, и выбрать его размер из пяти стандартных.
Также обстоит дело и выводом краткого описания, выбираем из какого поля брать описание и указываем длину его.

Количество колонок и количество выводимых записей, определяем на свой вкус.
Галочка «Выводить записи в случайном порядке» позволяет выводить записи в случайном порядке.

Сами файлы шаблонов отвечающие за вывод релевантов расположены в папке \default\controllers\relevanter\ там на данный момент пока только файл relevants_default_list.tpl.php. Но отбор файла шаблона происходит следующим образом.

Ищется файл relevants_(имя_типа_контента)_list.tpl.php, если его нет ищется relevants_default_list_(стиль_контента).tpl.php, если и его нет, то ищется relevants_default_list.tpl.php.
Но и это ещё не всё. Если вам нужен вывод, как указано в настройках типа контента, то просто удалите или переименуйте этот файл и программа будет искать файлы шаблона в папке шаблонов контента (имя_типа_контента)_list.tpl.php, либо возьмёт default_list.tpl.php.
Конечно все файлы без скобок.

Идём дальше.

Полнотекстовый поиск.

Иллюстрация
Полнотекстовый поиск возможен только, если релевант расположен в записи типа контента.
На страницах категорий, на главной и т. п. сработает только обычный набор фильтров и сортировки (о них чуть позже).

В полнотекстовом поиске строка поискового запроса собирается из трёх составляющих. Это своего рода приоритет поиска. По умолчанию, берётся заголовок, затем добавляются ключевые слова и потом присоединяются теги. Селекторами можно переопределить их порядок, либо отключить ненужные. Например, искать сначала по ключевым словам, затем по заголовкам и третий параметр не использовать. Если количество слов в строке поискового запроса будет большим, то чтобы снизить нагрузку на сервер, можно ограничить длину поисковой фразы.

В процессе обработки из поисковой фразы «заголовок + ключевые слова + теги» вырезаются всевозможные спецсимволы, знаки препинания, цифры и т. п. Затем фраза обрезается до длины указанной в настройках (цифра «80» которая стоит по умолчанию). После этого поисковая фраза подвергается разного рода манимуляциям, таким как, удаление повторяющихся слов, удаление слов, длина которых менее 3 символов, добавление повышающего коэффициента релевантности для полученных первых трёх слов. В итоге полученная поисковая фраза может быть значительно короче указанной в настройках длины.

Галочками указываем по каким полям осуществлять полнотекстовый поиск в базе данных.

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

Сортировка и фильтры.

Иллюстрация
Эти поля вам уже знакомы из наборов типа контента с одним отличием – есть фильтр по тегам. К нему я ещё прикрутил режим автозаполнения для удобства.

Иллюстрация
Фильтрация и отбор записей происходит следующим образом.

В выбранном типе контента, с учётом выбранной категории и набора отфильтровываются записи с применением фильтров заданных в поле «Фильтры» и сортируются согласно настройкам в поле «Сортировка». Затем подключается полнотекстовый поиск, конечно, если релевант расположен в записи контента. Из всего того количества найденных записей отсекаются первые в количестве рассчитанном по формуле: количество выводимых записей указанных в настройках умножить на 2 и добавить 1. Например 4 * 2 + 1 = 9 записей. Если найдено меньше, то будет столько, сколько есть.
Этот набор записей кэшируется (при включенном кэшировании). В дальнейшем, если есть кэш, берётся из него, если нет

или он устарел, повторно собирается набор записей. Из этого набора отбираются записи в количестве указанном в настройках случайным образом, либо первые по порядку. Зависит это от галочки «Выводить записи в случайном порядке» в блоке настроек «Шаблон».

Заполняем необходимые поля и получаем готовый релевант.

Иллюстрация Кстати, зелёная галочка «Публикация» тоже работает.
Размещение релеванта на сайте.

Для размещения релеванта на сайте есть два типа поля и виджет.

Виджет.

Иллюстрация
Ставим, где доступно и в опциях виджета выбираем наш релевант.

Иллюстрация
Поле.

Поле «Похожий контент» и «Похожий контент — сквозной» это два обычных поля.

Иллюстрация
Первое устанавливается в каждую запись. И при создании/редактировании каждой записи указывается, какой релевант выводить.
У второго при установке сразу выбирается какой релевант выводить и он автоматически будет выводится во всех записях данного типа контента. Пересохранять ранее добавленые записи не требуется. Но если есть необходимость в некоторых записях отключить релевант с показа, то при создании/редактировании записи надо убрать галочку.

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

Иллюстрация
Демо, смотрите статьи и новости. Виджет есть на главной.

Логин: demoadmin@krivo.pro
Пароль: demoadmin

Спасибо ему.

Обновление.

Добавил опцию для автоматического определения категории. Доступно в записи контента.

Изменил опцию "Выводить случайные записи, если ничего не найдено" на "Доводить количество записей до нужного, если не достаточно найдено". С ней будут добираться до нужного количества последние опубликованные записи из этой же категории. Доступно в записи контента.

Добавил возможность на выбор выводить заглушку, если нет изображения.

Поправил alt.

Устранил неисправность с отображением категории записи при включенном кэшировании.

Подправил файл шаблона. Теперь если искали 4 записи, а нашли меньше, то они растянутся на всю доступную ширину блока.

В связи с этим после обновления надо пересохранить все ранее созданные релеванты в админке компонента с учётом новых опций. Места их размещения пересохранять не требуется.

Обновление 18.03.2015.

Теперь компонент работает только с версией InstantCMS 2.2.0.

Обновлена работа с изображениями. Теперь, если выбран пользовательский пресет и файла заглушки с таким названием не существует, будет выведена заглушка с названием small. Поэтому для всех пользовательских пресетов желательно делать файл заглушки, такого же размера.

Переделана функция кэширования.

Подправлены стили. Исправлены некоторые мелочи в плане "юзабилити".

В настройки полнотекстового поиска релеванта вынесены значения длины слова и поле для ввода слов исключений из поиска. Слова короче указанной длины будут исключены из поиска. По умолчанию его значение равно 4 символам (оптимально для кирилицы). Значение можно изменить, как в большую сторону, так и в меньшую (но без фанатизма).

Обновление 23.06.2015.
Устранены ошибки, немного изменена логика подбора похожих записей. В стилях добавлено выравнивание текста блока с описанием по ширине
Похожий контент
Компонент

Похожий контент

Скачать 14 175 загрузок
+2
R161Net R161Net 9 лет назад #
Вы как всегда +++!!!
+2
WebMan WebMan 9 лет назад #
Спасибо! Как обычно порадовали тщательной продуманностью и проработкой компонента.
Олег Васильевич я Олег Васильевич я 9 лет назад #
Комментарий удален
Олег Васильевич я Олег Васильевич я 9 лет назад #
Комментарий удален
0
VonKruger VonKruger 9 лет назад #
Отлчно нужная вещь! Вот интересно как на производительность повлияет?
Режим отладки кто включал смотрели используемые ресурсы при выводе релевантов?
Хотелось бы услышать мнение специалиста!
0
Loadырь Loadырь 9 лет назад #
Тоже бы хотел послушать специалиста.
0
ivanish ivanish 8 лет назад #
Я не специалист, но на тестовом нагрузка была 40-45, а стала 500.
Причем использую все по минимуму
+1
SpaceSel SpaceSel 9 лет назад #
Молодец! Даешь народу отличных модов/хаков!
0
eoleg eoleg 9 лет назад #
+
Loadырь трудится не покладая рук! smile
+3
Олег с клещами Олег с клещами 9 лет назад #
Светлая голова! Респект и уважуха laugh
0
Ingvarruss Ingvarruss 9 лет назад #
Вроди все сделал по инструкции, а вместо похожего контента надпись - Array
+1
Loadырь Loadырь 9 лет назад #
Попробуйте переустановить компонент.
0
zotak zotak 8 лет назад #
Подскажите как вы побороли - Array ?
+1
letsgo letsgo 9 лет назад #
Жесть просто. Ни одной похожей статьи, при этом из разных разделов. Вы как так умудряетесь делать? Я конечно понимаю, что главное название чтоб было у компонента. Но тогда пишите честно "вывод всего подряд под всем подряд".

Умиляют хвалители. Вообще пофиг что ставить и как это работает?

Простой пример. Статья "США внесли «ВКонтакте» и «Рутрекер» в пиратский список".

А что в похожих?

А вот что

Строительство мегаферм в области решено отложить из-за кризиса
Омич прокатился на сноуборде по заснеженным улицам города (видео)
Омичам предложили виртуальную замену аквапарка на Завертяева
Лора Московская на Дне всех влюбленных в «Викинге»На правах рекламы



Крутые похожие статьи, да? Молодцы те кто хвалят. Благодаря вам инстант будет смешить скорее, чем эффективно работать. Ну и поспешите мне минусы навтыкать.
+1
Soul Soul 9 лет назад #
еще не смотрел (планирую на выходных)... Александр, а на беглый взгляд указанные статьи все же имеют общую составляющую - неактивные ссылки в тексте (возможно по ним они и стали "похожими") laugh
+1
Loadырь Loadырь 9 лет назад #
Там скорее всего реагирует на слово "новости" в последней фразе основного текста "НГС.НОВОСТИ Фото..."
0
Demet Demet 9 лет назад #
Полностью согласен, одна мешанина из не похожих по смыслу постов, раньше у меня были сайты на движке DLE, вот там идеально это было. Но за старания все равно +. По ходу дела нам не дождаться адекватного компонента "Похожие новости", если только за это дело не возьмется сам автор движка.
0
Demet Demet 9 лет назад #
Полностью согласен, одна мешанина из не похожих по смыслу постов, раньше у меня были сайты на движке DLE, вот там идеально это было. Но за старания все равно +. По ходу дела нам не дождаться адекватного компонента "Похожие новости", если только за это дело не возьмется сам автор движка.
+3
Loadырь Loadырь 9 лет назад #
Всё верно. Минусы в этом посте попрошу ВСЕХ не ставить. Хочу чтобы каждый мог высказать, что и как он это видит. Верно подмечено с похожестью статей. На моём демо-сайте, вы врядли определите работу компонента, именно по отбору записей. Он скорее для отображения как это выглядит. Новости я парсил кодом написанным "на коленке гусинным пером". Чтобы набрать количество, а качество новостей там далеко от идеала. Это видно по самим ключевым словам, заполненным автоматически. Чтобы действительно увидеть полную картину, нужен нормальный сайт. Я вам такой предоставить не могу. Поэтому предлагаю вам на копии вашего реального сайта протестировать компонент и посмотреть, как он там себя поведёт. И потом здесь отписать свои замечания и предложения.
-2
letsgo letsgo 9 лет назад #
Он вообще не должен выводить, если статьи не похожи. Вот этот момент вы упускаете. Что такое похожесть?

- 1 уровень похожести - статьи сходятся по названию
- 2 уровень похожести - статьи сходятся по тематике раздела

У вас нарушены оба уровня. Ниже я написал поэтому, сделайте так

- Сначала отбирает похожие по названию, это самые близкие по похожести
- Если не хватает статей, подключаем уровень 2, то есть по ид берём рядом статьи. Почему рядом? Чтобы была некоторая перелинковка по сути. Нет по обоим вариантам статей - значит нет похожих, но нельзя туда совать всё подряд.

Пока вы не сделаете именно так, будет каша статейная внизу.
+1
Loadырь Loadырь 9 лет назад #
1 уровень похожести - статьи сходятся по названию
В настройках полнотекстового поиска сделайте "брать для поиска сперва" только "заголовок". И искать только по заголовкам. Но на моём демо-сайте, где пара-тройка, кривых статей - ничего не найдёт. Поэтому, пробуйте у себя разные виды настроек.

2 уровень похожести - статьи сходятся по тематике раздела
Как определить тематику раздела? По заголовку и/или ключам раздела?
-2
letsgo letsgo 9 лет назад #
Раздел статей - раздел в котором они находятся.
0
letsgo letsgo 9 лет назад #
Альт тоже сделан неверно. alt="29-omich-prokatilsja-na-snouborde-po-zasnezhennym-ulicam-goroda-video" Это жесть. Я бы такие разработки вообще как вредные классифицировал. Они скорее будут вредить сайту, чем работать.

Переделайте по уму, как надо. Поиск похожих по словам в названии, альт - название статьи а не урл, статьи из одного раздела похожие. не могут в разделе Происшествия быть статьи похожими на статьи в разделе Бизнес и экономика. Похожее всегда будет именно в этом разделе для посетителя.
+1
Loadырь Loadырь 9 лет назад #
Исправлю
0
letsgo letsgo 9 лет назад #
Исправляйте, исходя из следующего

- Подбор похожих, только по словам в названии.
- Если нет похожих в названиях то предыдущие 5 статей по ID этого раздела, соответственно если например 3 по названию нашлись, то 2 уже по ID добить. Как правило свежие статьи одного раздела могут заинтересовать посетителя.
- Альт брать строго из названия.
- Похожие статьи только из того же раздела.

Вот тогда будет дело.
+1
Loadырь Loadырь 9 лет назад #
Похожие статьи только из того же раздела.
Включая подразделы?
0
letsgo letsgo 9 лет назад #
Подразделы делаются в исключительно редких случаях. Но если сделан, значит не просто так, а в нём есть свои материалы. То есть похожие в нём же и будут. Выводить только из раздела материала. Тогда это полезно пользователю и правильно показывает материалы поисковику.
+4
Loadырь Loadырь 9 лет назад #
letsgo , спасибо за участие.

Добавил опцию для автоматического определения категории. Доступно в записи контента.
Изменил опцию "Выводить случайные записи, если ничего не найдено" на "Доводить количество записей до нужного, если не достаточно найдено". С ней будут добираться до нужного количества последние опубликованные записи из этой же категории. Доступно в записи контента.
Добавил возможность на выбор выводить заглушку, если нет изображения.
Поправил alt.
Устранил неисправность с отображением категории записи при включенном кэшировании.
Подправил файл шаблона. Теперь если искали 4 записи, а нашли меньше, то они растянутся на всю доступную ширину блока.
В связи с этим после обновления надо пересохранить все ранее созданные релеванты в админке компонента с учётом новых опций. Места их размещения пересохранять не требуется.

На демо-сайте в статьях сделал релевант, который ищет в заголовках по заголовкам в данной категории. Выглядит примерно так.
Работу компонента в плане отбора записей смотрите на статьях, а вывод с картинками лучше смотреть по новостям.

Скачать полный установщик тут.
Обновление качать тут.

Ещё обнаружил небольшой баг связанный с выводом блоков записей разной высоты. Стили поправлю в следующем обновлении.
Олег Васильевич я Олег Васильевич я 9 лет назад #
Комментарий удален
-1
letsgo letsgo 9 лет назад #
Спасибо. Сразу же добавлю еще один момент - оформление. Некрасиво, каша.

Что сделать? Сразу скажу - я могу сделать такое, другие многие, особенно новички не смогут.

Итак записям всем создаём див ul, а каждой записи добавляем li. теперь задача выделить див картинки, титле, анонса статьи. Буквально по сути делов на 10 минут. Дальше мы имеем возможность настроить вид, в любом по сути оформлении, но даже дефолтное уже будет выглядеть не как каша, а достаточно симпатично.

Плюс - в таких случаях лучше не ставить вертикально. Так как даже различия в титле, будет перекашивать, что видно даже на вашем скрине. Лучше ставить горизонтально, но с дивами, будет и красиво и удобно.

Вы простите за то, что много пожеланий. Независимо от того, делаете вы платное или бесплатное, оно должно быть безупречно. И ещё раз спасибо, за то что взялись, не бросили после критики.
+1
Loadырь Loadырь 9 лет назад #
Всегда пожалуйста. Критика, это всего лишь слова. В ваших словах я увидел идею. Идея оказалась полезной, её и внедрил.

Что касается списочного оформления (ul li), то это лишь моменты подхода к созданию шаблона. Я не дизайнер, поэтому шаблоны могу лишь сверстать. Для тех людей кто серьёзно занимается внешним видом своего проекта, ul li или div это не помеха. Всё равно под проект надо что-то переделывать. Я же сделал так, чтобы простыми кликами мышки простому пользователю в настройках релеванта можно было бы вывести так, так, так или так или аж вот так. В любом случае для каждого типа контента, лучше делать свою html разметку в отдельном файле шаблона. Где-то надо вывести сперва фото, где-то сперва заголовок потом фото и таких вариантов масса. Поэтому, зная что файлы шаблонов в большинстве случаев переделываются "под себя", я делаю лишь рабочий макет из дефолтного файла шаблона. А дальше вы сами "разукрашивайте".
-1
letsgo letsgo 9 лет назад #
Да, там есть стили. Настроить легко под себя уже сейчас. Спасибо большое за разработку, доведенную до ума.
0
alexbabo alexbabo 9 лет назад #
Спасибо за превосходную работу,отличный компонент.
Установил обновлённую версию,кое что смутило.
Два абсолютно разных материала выводятся в похожих друг у друга.
Посмотрите пожалуйста.
Page 1
Page2
+1
Loadырь Loadырь 9 лет назад #
к таким вещам желательно прикладывать либо скрин, либо описание выбранных настроек из групп полей "Контент" и "Полнотекстовый поиск", а также место расположение релеванта (в записи или иное).
+1
Loadырь Loadырь 9 лет назад #
Ещё для удобства я сделал возможность увидеть по каким словам идёт поиск. Для этого в файле \templates\default\controllers\relevanter\relevants_view.tpl.php в строке 1 уберите два первых слэша, чтоб стало так
Код PHP:
  1. <?php //if ($user->is_admin){ echo "<div><b>Ищем по:</b> " . $search . "</div>"; } ?>
Эту фразу увидят только администраторы сайта.
+2
Loadырь Loadырь 9 лет назад #
поправляю, чтоб стало так:
Код PHP:
  1. <?php if ($user->is_admin){ echo "<div><b>Ищем по:</b> " . $search . "</div>"; } ?>
0
alexbabo alexbabo 9 лет назад #
Сделал как вы сказали,показывает совершенно разные ключи
В 1 случае:
Ищем по: unique, burning, walking, mondo, spider, robot, robots, manufacturers, indust
В 2 случае:
Ищем по: trick, andy, gross, funny, horrifies, magician, famous, video, where

Скрин1
Скрин2
+2
Loadырь Loadырь 9 лет назад #
В первом случае сработало слово walking, во втором video (глубже не искал), оба в тексте записей. Поскольку записей в этой категории немного и стоит в настройках галочка "Выводить записи в случайном порядке", то при указанных 4 записях он ищет 9 записей (а это почти все записи категории), в которых встречаются слова из поисковой фразы в тех местах, где указано в настройках. В данном случае, в тексте записи. Из рекомендаций могу предложить сузить место поиска:
1. Убрать галочку "Выводить записи в случайном порядке", тогда он будет искать только 4 записи (а не 9) отсортированные по релевантности.
или 2. Убрать галочку искать по основному тексту.
Когда записей будет много, тогда эти галочки можно будет вернуть.


Ещё я начинаю подумывать над добавлением поля в настройки релеванта, куда можно вводить стоп-слова. Например в разделе видео, слово "видео" может быть в каждой записи, конечно оно может добавить некую релевантность, но с другой стороны оно добавит его почти во все записи и смысл от этого слегка теряется. Кто как думает по этому поводу?
0
alexbabo alexbabo 9 лет назад #
Спасибо за развёрнутый ответ.
Что то новое заметил .
Кажется у меня не работает поиск по тегам.
В поле Ищем по:
Одинаковые теги ,а релевантного текста нет.
Для эксперимента,включил поиск только по тегам и брать сначала теги.Результата нет.

По стоп словам,думаю хорошая мысль.
0
Loadырь Loadырь 9 лет назад #
Интересно. У меня на демке с такими настройками релеванта на этой странице выдаёт так
+1
Роман Роман 9 лет назад #
И ещё раз спасибо, за то что взялись, не бросили после критики
Loadырь адекватный человек и его конструктивной критикой не испугать.

Хочется пожелать ему терпения и удачи!
+2
Romanovcmc Romanovcmc 9 лет назад #
Удивительно, как так люди могут. Я обычно из себя выхожу. А тут такая сухая оценка ситуации. Тем более учитывая какой хам letsgo.
0
Владимир Савенко ✝️ Владимир Савенко ✝️ 9 лет назад #
хм... я вот иногда общаюсь с letsgo.хамства с его стороны не видел ни разу... Ну а указание на недоработки (извините не использую двойку, поэтому назову это так "недоработки) плюс указание направления в котором "копать" для решения проблемы. Я думаю что автору это пойдет только на пользу.
Автору конечно же плюс, за разработку и адекватность smile .
-1
letsgo letsgo 9 лет назад #
Какой то вы странный, мягко говоря человек. Чтобы этот компонент приобрёл рабочую реально форму - я тут писал и рассказывал весь вечер. А вы пишете о том, что я хам.

Вы благодарите за то, что компонент работает так хорошо и оскорбляете того, кто тратил время и делился опытом с разработчиком, после кучи хвалебных отзывов к компоненту, который на тот момент скорее вредил, чем был полезен. То, что было изначально, было очень далеким от того, что вы сейчас хвалите. Думаю с такой логикой, как у вас, вы никогда не сделаете нормального веб проекта, ибо мышление, как таковое отсутствует.

p/s ^ Покажите мне хамство моё, чтобы я задел лично человека, либо что то затронул, не относящееся к сайтам. В ином случае необходимо извиниться. Если конечно характер есть.
+2
Romanovcmc Romanovcmc 9 лет назад #
Не про этот конкретный случай пишу, а про сложившееся у меня мнение. Меня откровенно задрало ваше высокомерие. Помню что были некоторые сайты на продажу или на "оцените сайт". И вы весьма резко о них отзывались. Теперь об доказательствах, с этим по сложнее. Потратил 20 минут, больше тратить не хочу. Вот что нашел, покопавшись в ответах Fuze

Хамство:Хам - сын Ноя, публично высмеял своего отца когда тот перебрал в выпивке и уснул на улице нагим, это упрощенная интерпретация Библейского понимания "хамства". Хамство - эмоциональное, агрессивное, вычурное, нарочито показательное состояние (состояние сознания направленного на заведомое унижение чести и достоинства личности) человека заведомо понимающего то, что адекватного ответа или противодействия оппонент оказать не в состоянии по причине слабости, зависимости, беспомощности.
В общем извиняться не вижу смысла, и хоть явных доказательств нет, но искать уже не хочу. Доверяю своему сложившемуся мнению
P/S считаю хамством затронуть сайт человека, в который он вложил душу и много сил. Хоть и не трогать его лично.
-1
letsgo letsgo 9 лет назад #
Ясно всё. Много букв и признание, что хамства нет. Вы сударь еще придёте к пониманию моих советов и тогда извинитесь. Так, уже было не раз.

Мы с Fuze в спорах, а спорили мы в аське, скайпе, тут на сайте - сломали сотни копий. Но я с уважением отношусь к нему - он отвественный разработчик и профессионал. Мы просили долго редактор, не я один, в итоге таки он услышал и сделал, сразу очень сильно улучшив перспективу 1 ветки. Это результат.
0
Romanovcmc Romanovcmc 9 лет назад #
Я сказал, что я против ваших конструктивных предложений? Я выразил свое недовольство вашей манерой общения. Одно и то же можно сказать совершенно разными словами, при этом не обязательно ломать копья.
0
Romanovcmc Romanovcmc 9 лет назад #
Проблемы с выводом полей в шаблоне, хотел чтобы выводились только картинка и заголовок. Сделал вот так

А выводятся только картинки, добавил галочку выводить описание, стало выводиться. В общем вышел из ситуации, вывожу описание но с количеством символов 0.
Такая же беда, если выводить автора, то выводятся еще и теги.
+1
Loadырь Loadырь 9 лет назад #
Да, есть такое. Заметил это только после выкладывания обновления. На демке уже обновил. У вас появится чуть позже.
0
Romanovcmc Romanovcmc 9 лет назад #
А еще в похожих сам себя выводит, что как то не логично. Если не сложно, поправьте пожалуйста. В целом данный компанент очень продуманный, аж ненарадуюсь.
+2
Loadырь Loadырь 9 лет назад #
Да, есть такое. Нашёл ошибку. Это случается, если стоит галочка "Доводить количество записей до нужного, если не достаточно найдено". В этом случае отсутсвовала фильтрация по id текущей записи. Соответственно, она могла смело попасть в общий список.

Добавлю в настройки релеванта длину слов и стоп слова, для исключения из поиска. И после выходных выложу обновление.
+1
maxisoft maxisoft 9 лет назад #
Вопрос не в тему просто для общего развития, насколько сильно грузиться сайт? при использовании компонента.
+1
Loadырь Loadырь 9 лет назад #
maxisoft , а есть какие-нибудь инструменты замерить это?
0
qwest qwest 9 лет назад #
Может штатными средствами.
Использование памяти время обработки на чистой CMS и после установки данного компонента.
0
Loadырь Loadырь 9 лет назад #
Штатные средства вам вам доступны на демке. Можете смело ими пользоваться. Но они в таком компоненте малоинформативны.
0
Romanovcmc Romanovcmc 9 лет назад #
И еще прошу одну вещь довести до конца. Если нечего выводить, то хотелось бы, чтобы и заголовок поля тоже не выводился. Не знаю как с виджетом, может быть такая же фигня. И еще, пришлите, пожалуйста ваш номер телефона в личку. Хочу кинуть чуть на поболтать.
+1
Loadырь Loadырь 9 лет назад #
Если нечего выводить, то хотелось бы, чтобы и заголовок поля тоже не выводился.
Для этого надо, править файл шаблона не связанный с моим компонентом. В файле \templates\default\content\default_item.tpl.php есть код:
Код PHP:
  1. <?php if (!$field['is_in_item']) { continue; } ?>
  2. <?php if ($field['is_system']) { continue; } ?>
  3. <?php if (empty($item[$field['name']])) { continue; } ?>
добавьте до него или после него это
Код PHP:
  1. <?php if (empty($field['html'])) { continue; } ?>
.
Если у вас используется свой файл шаблона для вывода записи контента, то соответственно, это надо сделать в нём.
0
Romanovcmc Romanovcmc 9 лет назад #
И не совсем разобрался. Но вроде доводить до количества записей если не достает, не работает такая функция для поля. Если я правильно понял, то эта функция работает так, если не хватает количества записей в данной категории, то берет из других категорий.
+1
Loadырь Loadырь 9 лет назад #
Если основной поиск не дал или дал недостаточное количество записей, то берутся записи отсортированные, как указано в настройках, либо по дате публикации, из этой же категории, с учётом подкатегорий (если такая галочка установлена). Другими словами, если в данной категории всего две записи, а в настройках указано четыре, то выведутся только две записи. Сама категория определяется либо автоматически, либо указывается вручную, но компонент работает только с ней.
0
Romanovcmc Romanovcmc 9 лет назад #
Хорошо, спасибо. Еще одна проблема. После того как сделал поле похожих записей, все работало, но как только добавил новый материал, в нем это поле не отображается. В старых записях отображается.
+1
Romanovcmc Romanovcmc 9 лет назад #
http://www.mirpetel.ru/sxemy вот тут посмотрите, последние записи не имеют этого поля в конце, а на момент введения поля, имеют.
+1
Loadырь Loadырь 9 лет назад #
Да есть такое, галочка показывать релевант при добавлении новой записи отсутсвует. Поправлю, чтоб всегда присутствовала при создании материала. А пока у себя можете проставить эти галочки, чтоб релевант отображался.
0
Romanovcmc Romanovcmc 9 лет назад #
ух ты, а я и не заметил этой галочки
0
Romanovcmc Romanovcmc 9 лет назад #
Они отображаются и когда обычные пользователи заполняют сайт? получается мне нужно будет, если я так хочу скрыть это через цсс?
+1
Loadырь Loadырь 9 лет назад #
Да видны для всех, кто добавляет/редактирует запись. Но можно в файле \templates\default\assets\fields\relevantsacross.tpl.php обернуть всё в условие "если админ, то показать эту галочку". Но это лучше сделать после обновления, когда по умолчанию будет срабатывать как отмечено.
0
Sashkoff Sashkoff 8 лет назад #
Если контент добавляется AviPars-ом, то галочка по умолчанию не срабатывает.
0
Loadырь Loadырь 8 лет назад #
Это да. Контент добавленный всякого рода парсерами, срабатывает настолько, насколько это учтено в самом парсере. Сам работаю над одним парсером (очень похожим на AviPars laugh ) и уже столкнулся с тем, что при добавлении материала, надо брать дефолтные данные всех необязательных полей, а не только тех, что необходимы для добавления записи.
З.Ы. А в настройках карты парсера, у вас данное поле присутствует? Может его добавить в карту и выставить значение равным 1, и тогда должна появиться эта галочка. Но это скорее вопрос к разработчику AviPars. Так как мне неизвестно, как у него реализована функция добавления данных записи в БД.
-1
No Name No Name 9 лет назад #
а для новой версии 2 подойдёт ??
+1
Loadырь Loadырь 9 лет назад #
Да, подойдёт. Но вы можете подождать пару-тройку дней. Я дошлифую кэширование и выложу с исправлениями указанных здесь недоработок и хотелок.
+2
Loadырь Loadырь 9 лет назад #
Обновление 18.03.2015.

Теперь компонент работает только с версией InstantCMS 2.2.0.

Обновлена работа с изображениями. Теперь, если выбран пользовательский пресет и файла заглушки с таким названием не существует, будет выведена заглушка с названием small. Поэтому для всех пользовательских пресетов желательно делать файл заглушки, такого же размера.

Переделана функция кэширования.

Подправлены стили. Исправлены некоторые мелочи в плане "юзабилити".

В настройки полнотекстового поиска релеванта вынесены значения длины слова и поле для ввода слов исключений из поиска. Слова короче указанной длины будут исключены из поиска. По умолчанию его значение равно 4 символам (оптимально для кирилицы). Значение можно изменить, как в большую сторону, так и в меньшую (но без фанатизма).

Обновление качать тут.
0
Demet Demet 9 лет назад #
На InstantCMS 2.1.2 компонент работать не будет? У меня есть народные хаки на сайте, которые не работают на InstantCMS 2.2.1, так что пока переходить на новую версию движка не планирую, а поставить компонент очень хочется.
+1
Loadырь Loadырь 9 лет назад #
Есть версия которая будет работать на InstantCMS 2.1.2, но в ней нет двух глобальных вещей, которые есть в последней версии. Нет типа поля "Поле заимствования" и нет функции выбора отправки содержимого формы на емаил или личным сообщением. Другими словами вы будете форму отправлять выбранным пользователям и на емаил и на сайте личным сообщением. Ну, а про поле пока руки не доходят оформить в блог. В остальном версии отличаются в основном работой с полями изображений. Если для вас эти функции не сильно востребованы, то обращайтесь.
Кстати, сегодня-завтра думаю отправить всем обновление с тем, о чём здесь пишу.
+1
Loadырь Loadырь 9 лет назад #
Короче. Пора в отпуск....
+1
Loadырь Loadырь 9 лет назад #
Это я про обновление конструктора тут расписывал...
+1
Loadырь Loadырь 9 лет назад #
Попробуйте relevanter.1.2.install.2015_03_16.zip. Этот вариант должен работать с версией 2.1.2.
0
Demet Demet 8 лет назад #
Попробуйте relevanter.1.2.install.2015_03_16.zip. Этот вариант должен работать с версией 2.1.2.

Поставил ваш замечательный компонент, сделал вывод полем, похожий контент появляется только у новых постов, а старые даже если редактирую, все равно не выводят поле. Что можно сделать, чтобы поле выводилось и в старых постах? Еще съезжают нижние правые колонки выводимого контента, как на скриншоте. Что нужно в стиле поправить, чтобы было все ровно?

0
Demet Demet 8 лет назад #
Сам ответил на свой вопрос. Для того чтобы выровнять столбики постов, нужно сделать вывод описания, но хотелось бы ,чтобы так было и просто с заголовками. Чтобы похожий контент появился в старых постах, нужно сделать запрос к базе UPDATE `cms_con_тип контента` SET `системное имя в поле контента`=1;
0
Demet Demet 8 лет назад #
Хотя и с описание такая беда случается sad

0
Loadырь Loadырь 8 лет назад #
Demet:
старые даже если редактирую, все равно не выводят поле
Не могу воспроизвести данную ошибку. Вы какое поле используете - "Похожий контент" или "Похожий контент - сквозное"?
По поводу стилей - в файле templates\default\controllers\relevanter\relevants_default_list.tpl.php в строке 6 добавьте css класс row-in, чтоб стало так.
Код PHP:
  1. <div class="relevants_list_item cols_<?php echo $tpl['number_cols'];?> row-in <?php echo $ctype['name']; ?>_list_item<?php if (!empty($item['is_vip'])){ ?> is_vip<?php } ?>">
Соответственно в вашем шаблоне и в шаблоне вывода релеванта сделать подобным образом
0
Demet Demet 8 лет назад #
Не могу воспроизвести данную ошибку. Вы какое поле используете - "Похожий контент" или "Похожий контент - сквозное"?
Уже решил проблему, просто не выводился похожий контент в постах созданных ранее, но сделал запрос к базе в все стало хорошо.
0
Demet Demet 8 лет назад #
Заменил 6 строку в relevanter\relevants_default_list.tpl.php с

Код PHP:
  1. <div class="relevants_list_item cols_<?php echo $tpl['number_cols'];?> <?php echo $ctype['name']; ?>_list_item<?php if (!empty($item['is_vip'])){ ?> is_vip<?php } ?>">
на

Код PHP:
  1. <div class="relevants_list_item cols_<?php echo $tpl['number_cols'];?> row-in <?php echo $ctype['name']; ?>_list_item<?php if (!empty($item['is_vip'])){ ?> is_vip<?php } ?>">
но ни чего не изменилось, строки и так и остались кривыми. Шаблон у меня дефолтный.
0
Loadырь Loadырь 8 лет назад #
У вас видимо не подключены стили от Олег Васильевич я. Тогда добавьте в конец файла templates\default\controllers\relevanter\styles.css строки
Код PHP:
  1. .row-in {
  2. margin: 0;
  3. padding: 0;
  4. width: 100%;
  5. }
0
Demet Demet 8 лет назад #
Строки выровнялись, стало все ровно, но появилась другая проблема, если в релеванте стоить вывод 6 похожих новостей, по выводит 5, если поставить 7, то выводи 6 и так далее. Это как то можно пофиксить?
0
Demet Demet 8 лет назад #
Когда ставлю галку "Выводить записи в случайном порядке" то показывает все 6 из 6, но только убираю галочку, как опять выводи 5 новостей.
0
sinon sinon 8 лет назад #
Установил компонент на версию 2.2.1 выскакивает следующая ошибка при выводе виджета
Notice: Array to string conversion in /system/controllers/relevanter/hooks/relevant_events.php on line 52
Notice: Undefined variable: category in /system/controllers/relevanter/hooks/relevant_events.php on line 72
Notice: Undefined variable: subcats in /system/controllers/relevanter/hooks/relevant_events.php on line 85

Подскажите как исправить можно?
0
Loadырь Loadырь 8 лет назад #
Notice: Undefined variable: category in /system/controllers/relevanter/hooks/relevant_events.php on line 72 Notice: Undefined variable: subcats in /system/controllers/relevanter/hooks/relevant_events.php on line 85
Про эти знаю, а как вы первое предупреждение получили? Можно скрин настроек и его место установки, чтоб воспроизвести можно было.
0
alexbabo alexbabo 8 лет назад #
Пожайлуста проверьте. На странице с где выводятся релевантные стаьти,перестает работать райтинг статей.
0
alexbabo alexbabo 8 лет назад #
Извиняюсь за орфографию,с мобилы вводил текст.
+1
Loadырь Loadырь 8 лет назад #
Да, грядёт "великое обновление" компонента. Но надо время.
0
alexbabo alexbabo 8 лет назад #
хорошая новость
0
ivanish ivanish 8 лет назад #
Это супер! Будет ли возможность как-то кешировать результаты подбора? У меня после установки компонента нагурзка выросла в 10-14 раз.
0
Loadырь Loadырь 8 лет назад #
Кэширование есть. Включается, если включено кэширование в настройках сайта. Есть некоторые ошибки (рейтинг не работает) и предупреждения (не объявлены переменные) при получении данных из кэша. Но это устранено, но пока не выложено. Вопрос, чем или как вы определяете возрастание нагрузки в 10-14 раз?
0
ivanish ivanish 8 лет назад #
Панель у хостера. Проводил проверку, включал компонент - нагрузка 500, выключал - 40. Штука полезная, но выжирает ресурсы, начинаются письма - вас ждет более мощный тариф.
0
Loadырь Loadырь 8 лет назад #
Если не секрет, по каким полям делали полнотекстовый поиск. Попробуйте, оставить поиск только по заголовкам. Эффект тот же будет?
0
qwest qwest 8 лет назад #
В Dle помнится давно давно кто то такой модуль писал тоже с конскими нагрузками мучились.
Но потом как то решили.
0
Gudan Gudan 8 лет назад #
Никто не сталкивался с такой проблемой? В сборке файл имеет название relevants_across.php, но при этом выдается ошибка, что нет файла relevantsacross.php. Переименовываешь и вроде работает.
0
Loadырь Loadырь 8 лет назад #
У вас видимо стоит дебагер от WebMan. Как по ссылке и описано, все названия файлов полей не должны иметь нижних (или каких-либо вообще) подчёркиваний. Поэтому смело переименовывайте и это касается не только данного компонента, а всех что имеют поля с подобными названиями файлов.
0
zotak zotak 8 лет назад #
А зачем в установочном архиве лежит smile (1).zip архив, так и должно быть ?
0
Loadырь Loadырь 8 лет назад #
Где вы его там нашли? Проверьте свой комп на вирусы. Может они добавляют в архивы что-то своё при скачивании.
0
zotak zotak 8 лет назад #
И правда, уже нет, извиняюсь!
0
Loadырь Loadырь 8 лет назад #
zotak:
уже нет
Так ведь и не было. Архив повторно не перезаливался.
0
zotak zotak 8 лет назад #
Имелось ввиду что перекачал и все ок, что-то я напортачил. Еще раз извиняюсь.
0
zotak zotak 8 лет назад #
У кого была ситуация что вместо похожего контента надпись - Array, помогите побороть, переустановка не помогает.
0
Loadырь Loadырь 8 лет назад #
zotak , я так и не смог воспроизвести вашу надпись - Array. Обновил файлы в разделе дополнений, где устранил замеченные недостатки, кроме вашего. Попробуйте переустановить полностью у себя компонент из нового архива.
0
Игорь Lu Игорь Lu 8 лет назад #
Ставлю в настройках ревеланта галочку на против «Доводить количество записей до нужного, если не достаточно найдено» и на некоторых страницах получаю белый экран. Включаю в настройках сайта отладку, ничего не показывает, всё тот же белый экран.
Проверьте эту проблему. Ставил все версии, везде встречается одна и та же проблема.
0
Loadырь Loadырь 8 лет назад #
Зря вы её ставите, она удваивает нагрузку на сервер. А на каких страницах выходит белый экран? Где ничего не может быть найдено?
0
Dimson Dimson 8 лет назад #
В админке, для типа контента статьи пытаюсь добавить поле, получаю кривую страницу и ошибку Fatal error: Cannot redeclare class fieldRelevantsAcross in C:\VertrigoServ\www\test.ru\system\fields\relevantsacross.php on line 53 . Двиг 2.3.0, версия 1.7. Как вылечить?
0
Loadырь Loadырь 8 лет назад #
Удалить файл \system\fields\relevants_across.php не задумываясь.
0
BoAnRo BoAnRo 8 лет назад #
Хотел установить этот компонент на свой сайт, но в магазине дополнений прочитал в отзывах что иногда почему-то тормозит на InstantCMS 2.4.0. Отзывы без подробностей.
Понимаю, Loadырь, что Вы не экстрасенс, но все же нет ли у вас предположений о том, что может вызывать такие тормоза именно в последней версии ICMS 2.4.0

А так же хотел спросить других пользователей этого компонента, не замечали ли Вы таких проблем?
0
Loadырь Loadырь 7 лет назад #
boanro:
Отзывы без подробностей.
Я на такие отзывы даже не реагирую. Для работы без тормозов не ставьте галочку "Добавлять до нужного количества" (точное название не помню, но смысл такой), в остальном всё зависит от железа сервера.
0
hozainbarin hozainbarin 7 лет назад #
установил 1.8
Хотел вытаскивать похожий контент с доски объявлений...из категорий...так и не понял как можно объявления в похожий контент вытащить...

Сделал на странице со статьями с одной категорией..вытаскивает в записи похожие статьи...можно сказать что компонент удался для удобства пользователей читающих статьи чтоб не прыгать обратно на страницу и не искать подобное после прочтения одной из записей....

Не заметил торможения загрузки страницы, на каждой странице еще есть видео: как только видео прогружается в статье - все хорошо, хотя видео стоит в центре статьи прогружается оно дольше чем "похожий контент" стоящий в конце. Можно сказать основной контент и похожий - прогружаются одновременно.


За удобство однозначный плюс!)
0
Loadырь Loadырь 7 лет назад #
Krasn:
Хотел вытаскивать похожий контент с доски объявлений...из категорий
Уберите галочку "Автоопределение категории" и укажите нужную.
0
hozainbarin hozainbarin 7 лет назад #
спасибо за совет - попробую отпишусь.
а еще понял для себя что для статей тегов не надо много - пишу теперь один тег в любой статье "название катигории" чтоб не путаться и вытаскивает отлично)....
0
kdv1978 kdv1978 7 лет назад #
Loadырь скажите как уйти от этого предупреждения - PHP Notice: Undefined variable: current_cat_id in /home/сайт/system/controllers/relevanter/hooks/relevant_events.php on line 100
+2
Loadырь Loadырь 7 лет назад #
Лучший вариант уйти от ошибки - дождаться обновления 1.9. Примерно 1 - 1.5 недели.
0
BoAnRo BoAnRo 7 лет назад #
А после обновления можно будет выключить отображение поля "показывать релевантный контент" для страницы создания контента? так чтобы простые пользователи не могли выключать отображения похожих записей на странице их публикации.
0
Loadырь Loadырь 7 лет назад #
Вполне возможно, но будет опционально.
0
Loadырь Loadырь 7 лет назад #
Обновил компонент, теперь current_cat_id - defined.
0
pajnut pajnut 7 лет назад #
Последняя версия не работает на двух сайтах проверял с различными настройками, версия 2.5.1 чистая установка, перепробовал и с другими шаблонами, вывожу виджет и все, страница с записью не грузится.
0
Loadырь Loadырь 7 лет назад #
А что отладка говорит?
0
pajnut pajnut 7 лет назад #
тишина, тупо белый экран и все, режим отладки включен
0
Loadырь Loadырь 7 лет назад #
Только что скачал последнюю версию, поставил. Нужно больше информации по белому экрану.
0
pajnut pajnut 7 лет назад #
отписал тех поддержке, получить текст ошибки не удалось, описанными методами в статье предложенной вами
+1
Pasechnik Pasechnik 7 лет назад #
Последняя версия не работает на двух сайтах проверял с различными настройками, версия 2.5.1 чистая установка, перепробовал и с другими шаблонами, вывожу виджет и все, страница с записью не грузится.
Аналогично. Loadырь, исправьте пожалуйста.
+3
Loadырь Loadырь 7 лет назад #
Поправил.
0
pajnut pajnut 7 лет назад #
Спасибо, совсем другое дело
0
Михаил Михаил 7 лет назад #
Здравствуйте, установил компонент. Все работает.
Подскажите, где можно добавить проверку на выключенный материал? Т.к. в данный момент он выводится в блоке похожих, даже если http://joxi.ru/82QeQGWfzz9l2d
Спасибо)
0
BoAnRo BoAnRo 7 лет назад #
Объясните мне пожалуйста, чем отличается результат если поставить галочку "Фильтр по тегам" (которая появилась в версии 1.9 компонента) от результата который получается если в блоке "Полнотекстовый поиск" выбрать "Искать по тегам" и "Брать для поиска сначала: теги"?
0
Loadырь Loadырь 7 лет назад #
Фильтр по тэгам работает шустрее (менее прожорлив по ресурсам), поэтому его лучше использовать если нужны записи именно по тэгам. Также если у вас фраза тэга состоит из нескольких слов, то фильтр будет искать по полной фразе в тэгах, а полнотекстовый поиск будет искать по каждому слову из фразы отдельно.
0
BoAnRo BoAnRo 7 лет назад #
Прекрасно! Мне как раз и нужно чтобы искало по полной фразе в тэгах. Еще раз спасибо за компонент и за работу над его развитием!
0
BoAnRo BoAnRo 7 лет назад #
После обновления на версию компонента 1.9.2 компонент у меня работает не правильно. Вместо выборки по тегам (вывод настроен через опцию "фильтр по тегам") выводит просто последние 2-3 публикации.
0
Loadырь Loadырь 7 лет назад #
Нужно больше инфы. Можно в личку. Как выводите (виджет, поле)? Заполнено ли поле с тегами в данной записи? Где выводите (список, запись)?
0
BoAnRo BoAnRo 7 лет назад #
Вывожу как поле. Теги для записи конечно есть, тем более до обновления все правильно выводилось. Вывожу в записи. Дополнительную инфу сейчас в личку отправлю.
0
Pocus Pocus 7 лет назад #
Скажите, пожалуйта, чем этот компонент отличается от штатного виджета "Список контента" с включенной опцией "Выводить список похожих"?
Я проверить не могу, у меня на тестовом сайте контента почти нет.
0
Jestik Jestik 7 лет назад #
Тем что у коробочного какой то непонятный алгоритм, я код не смотрел, так что не знаю, но у меня нормально не выводил, а этот все очень классно выводит
0
BoAnRo BoAnRo 7 лет назад #
Скажите, пожалуйста, чем этот компонент отличается от штатного виджета "Список контента" с включенной опцией "Выводить список похожих"?
Тем, что в "штатном" виджете с опцией "Выводить список похожих" "Похожесть" определяется по названию записи с учётом стоп слов, а в компоненте "Похожий контент" есть много опций для настройки выборки материалов. Например, по тегам.
0
ermakover ermakover 4 года назад #
Будет работать на 2.11.0? Кто-нибудь пробовал ставить на эту версию?
0
pavlion pavlion 3 года назад #
Компонент еще рабочий? Поставил на 2.13.1 куча ошибок, а сайт в хлам поломался. Есть может где похожие компоненты?
0
wcw2007 wcw2007 3 года назад #
сквозной выбираю в inst2.13.1

503
Ошибка в запросе БД:

Data truncated for column 'relenantnews' at row 1

ALTER TABLE `cms_con_news` CHANGE `relenantnews` `relenantnews` TINYINT( 1 ) NOT NULL DEFAULT '1'

Последние вызовы:

modelContent->updateContentField() @ /system\controllers\admin\actions\ctypes_fields_edit.php : 69
actionAdminCtypesFieldsEdit->run() @ /system\core\controller.php : 585
cmsController->runExternalAction() @ /system\core\action.php : 37
cmsAction->__call() @ /system\controllers\admin\actions\ctypes.php : 11
actionAdminCtypes->run() @ /system\core\controller.php : 585
cmsController->runExternalAction() @ /system\core\controller.php : 456
cmsController->executeAction() @ /system\core\controller.php : 432
cmsController->runAction() @ /system\core\core.php : 786
cmsCore->runController() @ /index.php : 46
0
Loadырь Loadырь 3 года назад #
Как я могу повторить вашу ошибку?
Поставил 2.13.1, поставил компонент из раздела дополнений, выбрал сквозной в типе контента. Редактирую сам релевант, редактирую новость, ошибку не могу воспроизвести. http://prefitchi.ru/news/6-vse-bolshe-rossijan-pokupayut-nedvizhimost-za-granicei.html

Еще от автора

Конструктор форм iForms: онлайн калькулятор
Краткая инструкция, по созданию онлайн калькуляторов с помощью конструктора форм.
Конструктор форм iForms. Добавление записи в типы контента гостем.
С момента моей прошлой записи на эту тему прошло больше двух лет. За это время двойка претерпела немало изменений.
Редактор разметки iTiny
Шо! Опять! (c)))
Используя этот сайт, вы соглашаетесь с тем, что мы используем файлы cookie.