Компоновки компонентов можно изменять таким же образом, как и компоновки модулей. Допустим, нам требуется изменить компоновку компонента для регистрации пользователя в пользовательской части веб-сайта, чтобы включить в нее соглашение, которое пользователь должен принять перед тем, как зарегистрироваться на веб-сайте.
Наша первая задача - найти файл компоновки данного компонента и скопировать его в соответствующую подпапку папки шаблона beez_20_copy . Регистрация пользователя пользовательской части веб-сайта происходит в компоненте com_users, а его компоновка находится в папке components/com_users/views/registration/tmpl , где хранятся четыре файла. Так, в файле default .php содержится форма регистрации пользователя, а в файле complete.php - компоновка экрана, который появляется по завершении регистрации.
Структура папок для хранения замещений компоновок компонентов аналогична структуре папок, создаваемой для хранения замещений компоновок модулей. Следовательно, нам требуется создать подпапку templates/beez_20_copy/html/<имя_компонента>/<имя_представления> . В рассматриваемом здесь примере это будет подпапка beez_20_copy/html/com_users/registration . Далее мы должны скопировать файл default.php из исходной папки components в новую папку. В итоге мы получим структуру папок.
Как пояснялось ранее в отношении модулей, файлы замещения их компоновки располагаются в подпапке с именем конкретного модуля. А с компонентами дело обстоит немного сложнее. У них, как правило, имеется несколько представлений с собственными исходными компоновками. Поэтому нам придется сначала создать подпапку для каждого представления в папке компонента, а затем разместить в ней файлы замещений компоновок. А кроме того, нужно не забыть скопировать пустые файлы index.html в папки с замещениями компоновок, чтобы не дать посторонним лицам просматривать их.
Далее нам нужно убедиться в том, что выполняется файл замещенной, а не стандартной компоновки. Для этого мы можем снова добавить некоторый текст в файл замещения компоновки и проверить, что он отображается именно так, как и предполагалось. С этой целью в код, добавлен элемент разметки hi с заголовком Му User Registration Override (Мое замещение компоновки регистрации пользователя); соответствующая строка кода выделена полужирным.
Если выбрать из меню команду Home => Create an Account (Домой => Создать учетную запись), при условии, что в Joomla установлены выборочные данные, то загрузится форма регистрации пользователя. И если наш шаблон beez_20_copy определен как выбираемый по умолчанию, то видоизмененный нами файл компоновки отобразит результат.
А теперь, когда мы убедились, что все установлено правильно, можно приступать к специальной настройке файла замещения компоновки. Как упоминалось выше, в данном примере нам требуется, чтобы пользователь принял предлагаемое ему соглашение, прежде чем зарегистрироваться. Если проанализировать код в файле компоновки, то в самом его конце можно заметить определение кнопки Register (Зарегистрироваться), выделенное полужирным в листинге.
Нам нужно ввести в компоновку регистрационной формы флажок принятия соглашения перед кодом определения кнопки Register, выделенным полужирным в листинге
В приведенном ранее фрагменте кода мы ввели стандартный элемент fieldset разметки HTML-документа с пояснительной надписью и флажком. Но у обновленной регистрационной формы имеются следующие ограничения.
Далее в статьях мы представим подключаемый модуль, проверяющий, установлен ли флажок принятия условий обслуживания. А далее в этой главе мы добавим замещение файла языковой поддержки и видоизменим регистрационную форму таким образом, чтобы весь ее текст можно было перевести на другие языки мира.
User Registration plugin provides you with an easy way to create frontend user registration form and login form. Drag and Drop fields make ordering and creating forms extremely easy. The plugin is lightweight, extendible, and can be used to create any type of registration form.
Beside registration form, the plugin also supports beautiful frontend profile account page for profile edit, password change, Log out and more. Users can visit their account page after registration and view the details they have filled and can make changes if necessary.
The registration forms are 100% mobile responsive and optimized to display on any devices.
User Registration can be easily extended with some premium addons.
User Options configuration allows setting of parameters used globally for all users. Control the use of Captcha, registration allowed and type of registration, default user group new users, reset password or username counter, and new user registration email notice to administration.
On User Manager: Users , click Options button at top. The Options button is in every User-Menu available.
Enter a list of allowed and disallowed email domains. By default, all domains are allowed.
This section shows permissions configuration for Users. The screen shows as follows.
To change the permissions for this extension, do the following.
In Joomla, after successful registration, users by default are redirected to a login page (if account doesn"t need to be activated). From there (after logging in) users are redirected to a user profile page. This happens even if you have Login Redirection set to something else in Login Form Module .
To change this behaviour you can redirect users after registration to any other page on your website.
To do this you need to edit a core Joomla file. Be aware that your changes may be overwritten by a Joomla update. Always document changes you make to core Joomla files so you can quickly re-do them if required.
Open file:
components/com_users/controllers/registration.php
Scroll down to the very bottom. Starting line 162 or so you will have flowing code:
if ($return === "adminactivate" ) { $this -> setMessage (JText:: _() ) ; $this -> setRedirect (JRoute:: _(, false ) ) ; } else if ($return === "useractivate" ) { $this -> setMessage (JText:: _() ) ; $this -> setRedirect (JRoute:: _("index.php?option=com_users&view=registration&layout=complete" , false ) ) ; } else { $this -> setMessage (JText:: _() ) ; $this -> setRedirect (JRoute:: _("index.php?option=com_users&view=login" , false ) ) ; }In this section you have 3 links starting index.php?
Replace links depending on type of registration you use with FULL URL of your redirection page and you are done.
For example, if user activation on my website is not required and I want to redirect users after registration to http://www.mywebsite.com/welcome-reg
the updated code will be:
Regardless to which page on your website you redirect, system message "Thank you for registering... " will be still displayed. If you don"t want this message, remove full line above your redirection URL. e.g. $this->setMessage(JText::_("COM_USERS_REGISTRATION_SAVE_SUCCESS"));
If you don"t require account activation (New User Account Activation set to None
) this is all you need to avoid User Profile page. However, if user has to activate account via email (Account Activation set to Self
) this may not be enough. Immediately after registration user will be redirected to a web page you provided in the code as expected. However, when user clicks on a link in the activation email, they will be taken to the previously mentioned login form and if they use it to login, they will get to the User Profile page. To prevent this you can disable User Profile page completely and instead redirect users to any page you like. Read this article to find out how.
Joomla 1.6
Joomla 1.7
Joomla 2.5
Все наверное умеют пользоваться такой поисковой системой, как гугл =) Но не все знают, что если грамотно составить поисковой запрос с помощью специальных конструкций, то можно достичь результатов того, что Вы ищете намного эффективнее и быстрее =) В этой статье я постараюсь показать что и как Вам нужно делать, чтобы искать правильно
Гугл поддерживает несколько расширенных операторов поиска, имеющими специальное
значение при поиске на google.com. Типично, эти операторы изменяют поиск, или
даже говорят гуглу делать полностью различные типы поиска. Например, конструкция
link:
является специальным оператором, и запрос link:www.google.com
не даст вам нормального поиска, но вместо этого найдет все web-страницы, которые
имеют связи к google.com.
альтернативные типы запросов
cache:
Если Вы будете включать другие слова в запрос, то Гугл подсветит
эти включенные слова в пределах кэшируемого документа.
Например, cache:www.сайт web
покажет кэшируемое содержимое с
подсвеченным словом "web".
link:
рассматриваемый выше поисковой запрос покажет веб-страницы, на
которых содержатся ссылки к указанному запросу.
Например: link:www.сайт
отобразит все страницы на которых есть
ссылка на http://www.сайт
related:
Отобразит web-страницы, которые являются "подобными" (related)
указанной web-странице.
Например, related: www.google.com
перечислит web-страницы, которые
являются подобными домашней странице Гугл.
info:
Информация запроса: представит немного информации, которую Гугл
имеет о запрашиваемой web-странице.
Например, info:сайт
покажет информацию о нашем форуме =)
(Армада - Форум адалт вебмастеров).
Другие информационные запросы
define: Запрос define: обеспечит определение слов, которые Вы вводите после того, как это, собранный из различных сетевых источников. Определение будет для всей введенной фразы (то есть, это будет включать все слова в точный запрос).
stocks:
Если Вы начинаете запрос с stocks: Гугл обработает остальную
часть сроков запроса как символы биржевых сводок, и свяжется со страницей,
показывающую готовую информацию для этих символов.
Например, stocks: Intel yahoo
покажет информацию о Intel и Yahoo.
(Отметьте, что Вы должны напечатать символы последних новостей, не название
компании)
Модификаторы Запросов
site:
Если Вы включаете site: в ваш запрос, Гугл ограничит результаты
теми вебсайтами, которые найдет в данном домене.
Также можно искать и по отдельным зонам, как таковое ru, org, com, etc (
site:com
site:ru
)
allintitle:
Если Вы запускаете запрос с allintitle:, Гугл ограничит
результаты со всеми словами запроса в заголовке.
Например, allintitle: google search
вернет все страницы гугла по поиску
как то images, Blog, etc
intitle:
Если Вы включаете intitle: в вашем запросе, Гугл ограничит
результаты документами, содержащими то слово в заголовке.
Например, intitle:Бизнес
allinurl:
Если Вы запускаете запрос с allinurl: Гугл ограничит
результаты, со всеми словами запроса в URL.
Например, allinurl: google search
вернет документы с google и search в
заголовке. Также как вариант можно разделять слова слэшем (/) тогда слова по
обе стороны слэша будут искаться в пределах одной страницы: Пример allinurl:
foo/bar
inurl:
Если Вы включаете inurl: в вашем запросе, Гугл ограничит
результаты документами, содержащими то слово в URL.
Например, Animation inurl:сайт
intext:
ищет только в тексте страницы указанное слово, игнорируя
заглавие и тексты ссылок, и прочее не относящееся к. Есть также и производная
этого модификатора - allintext:
т.е. далее все слова в запросе
будут искаться только в тексте, что тоже бывает важно, игнорируя часто
используемые слова в ссылках
Например, intext:форум
daterange: ищет во временных рамках (daterange:2452389-2452389), даты для времени указываются в Юлианском формате.
Ну и еще всякие интересные примеры запросов
Примеры составления запросов для Google. Для спамеров
Inurl:control.guest?a=sign
Site:books.dreambook.com “Homepage URL” “Sign my” inurl:sign
Site:www.freegb.net Homepage
Inurl:sign.asp “Character Count”
“Message:” inurl:sign.cfm “Sender:”
Inurl:register.php “User Registration” “Website”
Inurl:edu/guestbook “Sign the Guestbook”
Inurl:post “Post Comment” “URL”
Inurl:/archives/ “Comments:” “Remember info?”
“Script and Guestbook Created by:” “URL:” “Comments:”
Inurl:?action=add “phpBook” “URL”
Intitle:”Submit New Story”
Журналы
Inurl:www.livejournal.com/users/ mode=reply
Inurl greatestjournal.com/ mode=reply
Inurl:fastbb.ru/re.pl?
Inurl:fastbb.ru /re.pl? “Гостевая книга”
Блоги
Inurl:blogger.com/comment.g?”postID”"anonymous”
Inurl:typepad.com/ “Post a comment” “Remember personal info?”
Inurl:greatestjournal.com/community/ “Post comment” “addresses of anonymous posters”
“Post comment” “addresses of anonymous posters” -
Intitle:”Post comment”
Inurl:pirillo.com “Post comment”
Форумы
Inurl:gate.html?”name=Forums” “mode=reply”
Inurl:”forum/posting.php?mode=reply”
Inurl:”mes.php?”
Inurl:”members.html”
Inurl:forum/memberlist.php?”