Новости Joomla

Свои типы полей в Joomla.

Свои типы полей в Joomla.Это большая тема, о которой можно говорить очень много

Это большая тема, о которой можно говорить очень много. Самое главное, что возможности применения ограничиваются только вашей больной фантазией. Вы строите интерфейс своего модуля или плагина и вам нужно подтянуть данные из сторонней системы (список чего-нибудь по какому-нибудь API), чтобы сохранить выбранный id в Joomla. Или сделать какую-то проверку и в зависимости от неё показать то или иное сообщение пользователю. Для этого подойдут свои пользовательские типы полей. Интерфейс Joomla по большей части описан в XML-файлах. У каждого из них свои параметры. Некоторые не описаны в документации (manual.joomla.org), поэтому самым любопытным будет полезно заглянуть в собственно файлы фреймворка по пути

libraries/src/Form/FormField.php, а так же в
libraries/src/Form/Fields. У каждого класса поля перечислены его специфические свойства, которые можно описывать в XML. А в своём типе поля вы можете устанавливать эти значения программно. В моём модуле WT Quick links под капотом происходят изменения. Теперь для работы (в админке) ему нужен вспомогательный плагин. А в самом модуле нам бы проверить, а не выключен ли он? В Joomla есть тип поля Note - заметка. Его можно использовать для вывода примечаний.

<field type="note" name="your_note_for_user" label="Заголовок примечания" title="Альтернативный способ для заголовка" description="Текст примечания" class="col-12 alert alert-info" heading="h1" close="true" />

heading - указывать уровень заголовка.
close - позволяет закрыть это примечание. В классе поля
libraries/src/Form/Field/NoteField.php описана логика вывода. И в принципе оно нам подходит для нашей задачи. Но оно будет выводить сообщение всегда, а нам нужно только тогда, когда плагин отключён. Поэтому берём и создаём свой класс поля, который мы унаследуем от
NoteField. Это значит, что у нас в руках будет весь инструментарий стандартного поля
Note + то, что мы сами добавим. В XML-манифест добавляем наше поле

<field type="systempluginstatus" name="systempluginstatus" addfieldprefix="Joomla\Module\Wtquicklinks\Site\Fields"/>

-

type - имя файла и класса,-
addfieldprefix - указываем namespace к нашему классу, может быть любой нам нужный-
name - нельзя полю без имени...Это означает, что Joomla будет использовать класс поля из файла
modules/mod_wt_quick_links/src/Fields/SystempluginstatusField.php.А в классе поля будет написано следующее:

<?php // namespace для атрибута addfieldprefix namespace Joomla\Module\Wtquicklinks\Site\Fields; // нельзя напрямую обращаться к этому файлу defined('_JEXEC') or die; // подключаем родительский класс для переопределения use Joomla\CMS\Form\Field\NoteField; use Joomla\CMS\Language\Text; use Joomla\CMS\Plugin\PluginHelper; // имя класса и имя файла точь-в-точь class SystempluginstatusField extends NoteField { protected $type = 'Systempluginstatus'; protected function getLabel() { // если плагин не включён if(PluginHelper::isEnabled('system','wtquicklinks')) { // меняем свойства родительского класса $this->class = 'alert alert-danger w-100'; $this->element['label'] = '⚠️ А-а-а-а!'; $this->element['description'] = 'Плагин не включён!!'; // и просто рендерим его с нашими свойствами return parent::getLabel(); } // А иначе всё хорошо, скрываем поле из виду. $this->parentclass = 'd-none'; return ''; } }

Просто и удобно. И людям приятно, что о них позаботились и рассказали почему что-то не работает. @webtolkru#joomla #php #webdev #разработка

0 Пользователей и 1 Гость просматривают эту тему.
  • 26 Ответов
  • 8532 Просмотров
*

dronsamemucho

  • Новичок
  • 3
  • 0 / 0
Индексация сайта
« : 19.11.2011, 22:52:55 »
Ребята помогите разобраться, почему сайт multilovlya.ru Яндекс и Google индексирует с большим "усердсвом", на сайте 85 постов, а в индексе яндекса 1200 страниц, в Google 500, в чем проблема? подскажите

для примера, в индексе много примерно таких вариантов multilovlya.ru/yaz/bychok/volba/59-lovlya-vobly.html, но переправляет на multilovlya.ru/volba/59-lovlya-vobly.html
*

ELLE

  • Глобальный модератор
  • 4510
  • 893 / 0
Re: Индексация сайта
« Ответ #1 : 19.11.2011, 23:08:50 »
потому что это дубли. страница должна отдавать 301 редирект, а не 303 как в вашем примере
*

dronsamemucho

  • Новичок
  • 3
  • 0 / 0
Re: Индексация сайта
« Ответ #2 : 22.11.2011, 19:42:12 »
По прописывали уже все что можно и нельзя, страницы в индексе только растут, может кто возьмется за деньгу сделать, так как сам я не решу эту проблему?
*

ELLE

  • Глобальный модератор
  • 4510
  • 893 / 0
Re: Индексация сайта
« Ответ #3 : 22.11.2011, 19:46:45 »
послушайте, если вы устранили проблему с дублями и они или 404 отдают, или 301 редирект, то через несколько апов эти страницы уйдут из индекса
*

AmdAveO

  • Захожу иногда
  • 165
  • 43 / 2
Re: Индексация сайта
« Ответ #4 : 22.11.2011, 19:48:24 »
Используй rel="canonical" на страницах.
Просить не буду! Сами дадите, когда совесть замучает. R336340187313
*

oriol

  • Завсегдатай
  • 1042
  • 100 / 4
Re: Индексация сайта
« Ответ #5 : 03.12.2011, 12:47:21 »
Если я правильно понимаю то поисковики цепляют раздел/катигория/страница, а через меню саму страницу если это так то идем в менеджер материалов / параметры и выставляем Название раздела (скрить), Название категории (скрыть) и будет вам счастье и в этом случае rel="canonical" не поможет потому что вы вставите его в статью а статья одна и та же, а если вставлять в robots.txt то это будет очень длинный список, а 301 это в том случае если ссылки одинаковые просто одна ссылка заканчивается слешем а вторая без он уберет слеш и добавит www. Так что смотри настройки выдачи контента

###################

Я по своим сайтам робота пускал и на твой запустил, нет там у тебя дублей а количество ссылок в индексе тебе компонент search нагнал но там по 250 симвалов это не дубли, тебе надо просканировать самому и отредактировать robots.txt и всё.

Если надо качни робота http://home.snafu.de/tilman/xenulink.html
« Последнее редактирование: 03.12.2011, 13:35:01 от oriol »
*

AmdAveO

  • Захожу иногда
  • 165
  • 43 / 2
Re: Индексация сайта
« Ответ #6 : 03.12.2011, 18:21:41 »
A еще лучше sh404SEF с его помощью закроешь все дубли и всегда будешь видеть что у тебя с ссылками и дублями
Садо-мазо и все в таком духе. Поднимаю сейчас три сайта, все что нужно прописано в роботс, и в шаблонах. Еще ни одного дубля нет.

...и в этом случае rel="canonical" не поможет потому что вы вставите его в статью а статья одна и та же...
А вас я попрошу в матчасть как завещал великий Ленин.
Просить не буду! Сами дадите, когда совесть замучает. R336340187313
*

oriol

  • Завсегдатай
  • 1042
  • 100 / 4
Re: Индексация сайта
« Ответ #7 : 03.12.2011, 20:15:04 »
Садо-мазо и все в таком духе. Поднимаю сейчас три сайта, все что нужно прописано в роботс, и в шаблонах. Еще ни одного дубля нет.
Здесь я согласен
Цитировать
Поднимаю сейчас три сайта, все что нужно прописано в роботс, и в шаблонах. Еще ни одного дубля нет.
Если не ставить всякое Г.... типа RSSEO и все в этом роде их и не будет сама Joomla дублей не делает по крайней мере у меня не одного не сделала
Цитировать
А вас я попрошу в матчасть как завещал великий Ленин.
Используй rel="canonical" на страницах. Помоему это ваше, а у Яндекса четко написано (источник, цель)
прописать <link rel="canonical" href="http://www.examplesite.ru/blog"/> если ты пропишешь на страницах она начнет ссылаться на саму себе а это черная оптимизация и рано или поздно Яндекс яйца за это оторвёт. Вот если бы ты написал что надо сделать urllist.txt прописать всё что надо закинуть его в директорию и в яндексе добавить его в Файлы Sitemap это выглядело-бы умнее.   ;)

Да и ещё есть плагин который выбрасывает все стоп слова из черного списка и  прописывает rel="canonical" а вот в новой версии этой фишки уже нет.
« Последнее редактирование: 03.12.2011, 20:19:15 от oriol »
*

AmdAveO

  • Захожу иногда
  • 165
  • 43 / 2
Re: Индексация сайта
« Ответ #8 : 03.12.2011, 21:20:09 »
При чем тут черная оптимизация и жажда яндекса к яицам?
Этот линк указывает постоянное место расположения материала исключая при этом их дублирование. Об этом и Яндекс, и Google сами говорят.
И его лучше использовать изначально, т.е. при создании сайта. Если дубли уже наплодились, то этот линк надо использовать в купе с 301-ым редиректом.
Просить не буду! Сами дадите, когда совесть замучает. R336340187313
*

oriol

  • Завсегдатай
  • 1042
  • 100 / 4
Re: Индексация сайта
« Ответ #9 : 04.12.2011, 12:14:35 »
Этот линк указывает постоянное место расположения материала исключая при этом их дублирование. Об этом и Яндекс, и Google сами говорят.
И его лучше использовать изначально, т.е. при создании сайта. Если дубли уже наплодились, то этот линк надо использовать в купе с 301-ым редиректом.
Здесь вы сударь заблуждаетесь Линк не одним боком не относится к дублированию страниц, он просто объясняет роботу какая страница в этой байде главная, он не может управлять расширениям делающими эти дубли. Для того чтобы не было дублей (если они кому то мешают ) для начала нужно удалить расширения которые делают эти дубли. А дальше выбиваем их из индекса
Цитировать
Если дубли уже наплодились, то этот линк надо использовать в купе с 301-ым редиректом.
Для этого копируем материал, это нужно для того что бы получить новый идентификатор материала именно на него option=com_content&view=article&id=7 ориентируются все патчи применяемые расширениями делающими дубли (имеет смысл если страницы больше дублироваться не будут и вы хотите выбить старые из индекса) объявляем ее rel="canonical" и показываем ее поисковикам. Как только она попала в индекс начинаем удалять старые для этого можно воспользоваться вот этим

Переадресация средстави php
Код
<?php
header('Location: http://www.site.ru');
?>
  Преимущество этого способа состоит в том, что можно с этим заголовком параллельно отправить статусы сервера, например, 301 Moved Permanently, что укажет поисковым ботам о перемещении ваших материалов. Коды статуса HTTP можно посмотреть здесь http://help.yandex.ru/webmaster/?id=995305
Код
<?php
header("HTTP/1.1 301 Moved Permanently");
header("Location: http://www.site.ru/newdir/newpage.htm");
exit();
?>
Подробнее смотрите здесь http://www.scriptsite.ru/forsite-22

Ну это так к слову, а на самом деле если у вашей страницы  бродит по нету 10 клонов не чего страшного нет, просто выберете из этих 10 один удобный для вас URL и объявите его rel="canonical" в такой форме <link rel="canonical" href="http://www.examplesite.ru/blog"/>

подробнее смотрите здесь http://help.yandex.ru/webmaster/?id=1111858

Нот в принципе и вё
Всех благ вам !
« Последнее редактирование: 04.12.2011, 12:52:43 от oriol »
*

AmdAveO

  • Захожу иногда
  • 165
  • 43 / 2
Re: Индексация сайта
« Ответ #10 : 04.12.2011, 21:21:18 »
Цитата: Яндекс
Атрибут rel="canonical" тега <link>
В том случае, если на сайте присутствуют группы схожих по контенту страниц, вебмастер может выбрать предпочитаемый (канонический) url от группы, который будет участвовать в поиске. Например, документ сайта доступен по двум url:
Иными словами, страницы у которых урл будет отличатся от каноникал, будут исключены из поиска.
Скажу по секрету, мне уже пришлось вычищать пару сайтов таким образом. Есессна в купе с 301-ым редиректом.
Реакция яндекса на rel="canonical" была похожей на robots.txt. Он просто сообщал, что урл не является каноническим
Цитата: Яндекс Вебмастер
Информация: страницы намеренно запрещены к индексированию или не должны индексироваться.

Документ не является каноническим?
В коде документа в тэге link содержится параметр rel="canonical", указывающий на другой (канонический) документ. Вместо данного документа проиндексирован канонический.

Яица у всех остались целыми  ;)
Более того +10 тиц и ++посещалка.

ПЫ.СЫ. Мы наверно читаем на разных языках.
Просить не буду! Сами дадите, когда совесть замучает. R336340187313
*

мираж

  • Захожу иногда
  • 368
  • 0 / 0
Re: Индексация сайта
« Ответ #11 : 06.12.2011, 10:33:47 »
читал читал так половину и не понял. а как правильно то заставить сайт индексироваться?
*

oriol

  • Завсегдатай
  • 1042
  • 100 / 4
Re: Индексация сайта
« Ответ #12 : 07.12.2011, 11:00:28 »
читал читал так половину и не понял. а как правильно то заставить сайт индексироваться?
А что не понятного, страница на сайте доступна по нескольким адресам и естественно в индексе находится несколько страниц одного содержания(могут признаваться как спам) при указании canonical определенного url он будет считаться основным а остальные в индекс браться не будут. Пример под спойлером
Спойлер
[свернуть]
И благодаря товарищу Skitalec теперь это реально делать автоматически на Joomla 1.7
Skitalec а может прикрепить плагин и ты его подправишь под Joomla 1.7, хотя  твоя штуковина круче благодаря  301 редиректу
« Последнее редактирование: 07.12.2011, 18:19:53 от oriol »
*

smart

  • Администратор
  • 6478
  • 1318 / 15
  • Хочешь сделать хорошо — сделай!
*

Hot_Gomer

  • Захожу иногда
  • 296
  • 12 / 0
  • sudo su
Re: Индексация сайта
« Ответ #14 : 10.06.2012, 14:30:28 »
Подскажите, а как быть в таком случае:
Яндекс упорно индексирует следующее - /component/search/?(и какие-то его производные, например /component/search/?format=opensearch, /component/search/?Itemid=102&format=opensearch  и т.д.)
на что пишет в вебмастере свой комментарий - Неверный формат документа. При анализе документа обнаружено несоответствие документа формату, заявленному заголовке Content-Type. Измените заголовок Content-Type либо формат документа.
Joomla, Drupal, Ruby on Rails -
что может быть лучше?)
*

oriol

  • Завсегдатай
  • 1042
  • 100 / 4
Re: Индексация сайта
« Ответ #15 : 17.06.2012, 04:11:39 »
Запретить индексацию через robots.txt http://joomlaforum.ru/index.php/topic,193446.0.html
*

Frontovik

  • Захожу иногда
  • 57
  • 1 / 0
Re: Индексация сайта
« Ответ #16 : 20.08.2012, 03:00:24 »
подскажите пож-та, Google проиндексировал сайт, а при вводе в поисковике Google главной страницы сайта, например www.mskdoska.ru пишет название страницы как "Главная", а как это название изменить (в Joomla 2.5.6) на "Доска объявлений Москвы и Московской области" и самое главное где? в нете есть информация для Joomla 1.5, и как там все поменять, а вот для 2.6 не нашел. Как изменить название Главной страницы не меняя при этом название пункта меню, если кто знает, скажите ответ пож-та, с меня плюсик!
*

ELLE

  • Глобальный модератор
  • 4510
  • 893 / 0
Re: Индексация сайта
« Ответ #17 : 20.08.2012, 03:12:09 »
В этот пункт меню зайдите - справа настройки "Параметры отображения страницы" - "Заголовок страницы в браузере" - заполняйте это поле
*

Frontovik

  • Захожу иногда
  • 57
  • 1 / 0
Re: Индексация сайта
« Ответ #18 : 20.08.2012, 03:44:41 »
В этот пункт меню зайдите - справа настройки "Параметры отображения страницы" - "Заголовок страницы в браузере" - заполняйте это поле

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

Да, вот еще один парралельный вопрос, касающийся индексации в яндексе... Яндекс, как известно очень привиредлив к материалам на сайте, вот у меня доска объявлений, а объявления на сайтах очень часто повторяются и получается, что контент не уникальный, будет ли Яндекс индексировать такой контент или же нужно заливать уникальный контент в виде статей, что бы сайт хоть как-то был проиндексирован? и если так, то сколько статей нужно, может знает кто? мой сайт www.mskdoska.ru, создан недавно, залил сегодня первую уникальную статью, а Яндекс уже почти 2 недели не хочет индексировать, в отличие от Google...(((
*

ELLE

  • Глобальный модератор
  • 4510
  • 893 / 0
Re: Индексация сайта
« Ответ #19 : 20.08.2012, 03:50:22 »

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

На данный момент у вас
Код: php
<title>Объявления -Услуги для бизнеса</title>
- это то, что показывает браузер, а вот в выдаче Google появится после переиндексации.

по второму вопросу - http://help.yandex.ru/webmaster/?id=995342
« Последнее редактирование: 20.08.2012, 03:54:27 от ELLE »
*

Frontovik

  • Захожу иногда
  • 57
  • 1 / 0
Re: Индексация сайта
« Ответ #20 : 20.08.2012, 15:48:43 »
В этот пункт меню зайдите - справа настройки "Параметры отображения страницы" - "Заголовок страницы в браузере" - заполняйте это поле
Я, кстати, ввел в поле "заголовок страницы в браузере", а так же "заголовок страницы" текст "Доска объявлений Москвы и Московской области", но в браузере это так и не отразилось, только что увидел, может глюк какой-то? Поле title через просмотр кода страницы у меня "Объявления -", а Google вообще выдает "Главная", но дескрипшен ниже он правильно описал, как я указал... Может есть способ изменить title не через меню Joomla, а программным способом, изменив какой-то файл?
*

ELLE

  • Глобальный модератор
  • 4510
  • 893 / 0
Re: Индексация сайта
« Ответ #21 : 20.08.2012, 15:53:00 »
не знаю, что-то в последнее время у всех новичков такой глюк...я не разу не наблюдала такого у себя...
говорят есть кнопочка в меню волшебная - "Перестроить", попробуйте, может поможет.
также стоит очистить кеш везде и еще раз глянуть
в крайнем случае - вот
*

Frontovik

  • Захожу иногда
  • 57
  • 1 / 0
Re: Индексация сайта
« Ответ #22 : 20.08.2012, 17:42:48 »
не знаю, что-то в последнее время у всех новичков такой глюк...я не разу не наблюдала такого у себя...
говорят есть кнопочка в меню волшебная - "Перестроить", попробуйте, может поможет.
также стоит очистить кеш везде и еще раз глянуть
в крайнем случае - вот
Похоже нашел в чем проблема, ни кеширование, ни ссылка не помогли, меняй не меняй в главном меню заголовок страницы, а в результате title не менялся,  похоже дело все в русификации AdsManager было, подправил файл www\language\ru-RU\ru-RU.com_adsmanager.ini и тайтл изменился.
« Последнее редактирование: 18.02.2013, 14:24:34 от Frontovik »
*

hapson

  • Осваиваюсь на форуме
  • 44
  • 4 / 0
Re: Индексация сайта
« Ответ #23 : 15.02.2013, 19:35:05 »
Скажите пожалуйста, я выставил в настройках Joomla 2.5 "no index, no follow", поисковики теперь не увидят мой сайт? Мне нужно перенести вручную контент с одного сайта на новый, но так чтобы первый сайт не отключать.
Спасибо.
*

Frontovik

  • Захожу иногда
  • 57
  • 1 / 0
Re: Индексация сайта
« Ответ #24 : 18.02.2013, 14:24:17 »
Скажите пожалуйста, я выставил в настройках Joomla 2.5 "no index, no follow", поисковики теперь не увидят мой сайт? Мне нужно перенести вручную контент с одного сайта на новый, но так чтобы первый сайт не отключать.
Спасибо.
Смотря какое меню или материал вы выставили как "no index, no follow" и смотря как вы прописали robots.txt
Цитировать
Мне нужно перенести вручную контент с одного сайта на новый, но так чтобы первый сайт не отключать.
так не отключайте первый, в чем проблема-то?
*

hapson

  • Осваиваюсь на форуме
  • 44
  • 4 / 0
Re: Индексация сайта
« Ответ #25 : 18.02.2013, 15:48:02 »
Смотря какое меню или материал вы выставили как "no index, no follow" и смотря как вы прописали robots.txtтак не отключайте первый, в чем проблема-то?
Спасибо за ответ. Уже все перенес. Теперь есть другой вопрос...
Вот старый сайт: Старый сайт
вот новый: Новый сайт

Как не потерять посетителей? У меня один выход, наверное самый ламерский... на старом сайте удалить все материалы и на каждой странице вставить что-то типа "Мы переехали" и ссылка на новый сайт.
Страниц всего 70, удалить все не проблема - часа два и все.
*

Frontovik

  • Захожу иногда
  • 57
  • 1 / 0
Re: Индексация сайта
« Ответ #26 : 18.02.2013, 17:04:35 »
Спасибо за ответ. Уже все перенес. Теперь есть другой вопрос...
Вот старый сайт: Старый сайт
вот новый: Новый сайт

Как не потерять посетителей? У меня один выход, наверное самый ламерский... на старом сайте удалить все материалы и на каждой странице вставить что-то типа "Мы переехали" и ссылка на новый сайт.
Страниц всего 70, удалить все не проблема - часа два и все.
для начала сделайте зеркало в вебмастере Google и яндекса(если вы там есть, это позволит, я думаю, не потерять ваши уникальные статьи, которые на новом сайте будут дублями и неуниками), во вторых сделайте редирект через .htaccess (вместо того, чтобы тратить время на ссылки "мы переехали" как вы пишете).Удалить вам потребуется не часа 2, а 2 минуты, но потом вы потеряете весь свой трафик с поисковиков, перенеся этот материал, если он проиндексирован, на новый сайт, поэтому делайте как выше описал (зеркало и редирект).
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться
 

Как вывести в сниппете название статьи, а потом название сайта?

Автор gorbi_U

Ответов: 0
Просмотров: 1002
Последний ответ 18.01.2022, 18:29:22
от gorbi_U
Яндекс не индексирует вообще картинки с сайта

Автор Девушка с веслом

Ответов: 6
Просмотров: 1145
Последний ответ 10.05.2021, 17:21:18
от xpank
Сервис или программа для оценки позиций сайта

Автор dron

Ответов: 12
Просмотров: 7937
Последний ответ 12.03.2021, 18:02:22
от v42bis
Продвижение сайта в Москве

Автор Arenida

Ответов: 3
Просмотров: 1820
Последний ответ 08.06.2020, 10:32:03
от kostikcom
Принудительный переобход всего сайта, удаление всех старых страниц

Автор AzMandius

Ответов: 4
Просмотров: 1276
Последний ответ 09.02.2020, 22:23:09
от AzMandius