Добрый день. Я создала свой компонент. Теперь пытаюсь сделать пункт меню с ссылкой на него. Создала файл metadata.xml в папке \com_имя_компонента\views\имя_вида и default.xml в папке \com_имя_компонента\views\имя_вида\tmpl. Но все равно у меня никаких типов не создается. Подскажите, что я делаю не так? Заранее, спасибо .
вам ничего не надо ни где создавать ! Если вы правильно организовали MVC структуру компонента, то все должно появиться Хммм.... о каком меню идет речь ? Админская или клиентская часть ?
Речь идет о главном меню на клиентской части. Я заметила, что иногда и без этих файлов все работает. Вообщем хз....
Я разобралась. Надо было всего лишь убрать нижнее подчеркивание из названия компонента. Странно, я нигде не встречала, чтобы где-нибудь было написано, что нельзя использовать '_' в названии компонента. У меня теперь другой вопрос. Я создавала меню для компонента, для того чтобы на первой странице компонента прикрутить модуль mod_login, чтобы только зарегистрированные пользователи имели доступ к информации. Я так поняла что модуль можно привязать только к какому-то пункту меню. Я привязала модуль, зарегистрировала пользователя, и когда пытаюсь зайти, не пускает. Такое ощущение, что он вообще не работает. Если заходить под любым логином и паролем, даже ошибок не выдает, что такого пользователя нет. Я не знаю что делать....
Когда создадите пункт меню, для вашего компонента, то в настройках этого пункта есть параметр "Уровень доступа", там укажите "Участники" и все )
Извините, на выходных не было возможности зайти сюда. Вы правы, если поменять "Уровень доступа", то все работает. Но это не то, что мне надо. Мне нужно, чтобы все пользователи видели форму, а зайти могли только те, которые зарегистрированы. Форма не работает только при уровне доступа "Общий". Похоже что скрипт до компонента com_user ваще не доходит. Я сделала трассировку, скрипт грузит 'com_user\router.php' и все. Хотя при других уровнях доступа, компонент отрабатывает правильно и с правильным паролем я имею доступ к информации. В чем может быть дело? Р.S. Пробовала на локальном сервере тоже самое, все отлично работает
что то я не совсем вас понимаю ) вы хотите, что бы все видели пункт меню с формой, но перейти к форме по этому пункту меню могли только пользователи определенной группы ?
Нет, я хочу чтобы все видели пункт меню и перейти по нему к форме авторизации могли тоже все, а вот получить доступ к информации могли только те пользователи, которые ввели правильно логин и пароль.
т.е. у вас есть компонент, который содержит некую форму, так ? вы создаете пункт меню для него и когда незарегистрированный пользователь нажимает на этот пункт меню, то его перекидывает к форме авторизации, и после того как он вводит логин/пароль, попадает на ваш компонент с формой, так ?
Смотрите, мне нужно создать компонент, чтобы к информации в нем имели доступ не все. Сначала форма с авторизацией у меня была в компоненте, и я сама в нем проверяла. есть такой пользователь или нет. Это не очень удобно и тем более, в joomla есть встроенные для этого вещи. Я убрала из своего компонента все, что касалось авторизации, чтобы прикрутить модуль mod_login. Как я поняла, чтобы его добавить к компоненту, надо добавить пункт меню для моего компонента. Я добавила пункт меню, прикрутила модуль (и у меню и у модуля уровень доступа общий), и авторизация не проходит. хотя есть такой пользователь и данные правильные. А когда я поменяла уровень доступа у пункта меню на "Участники", все работает. но соответственно этот пункт меню видят не все. Другое дело, что в данном случае этого и требуется, но все равно вопрос, почему оно так работает?
Ясно, ну если нормально, то будет на много проще изъясняться ) Прочитайте доки про АЦЛ и затем в модели вашего компонента, которая отвечает за генерацию вашей формы установите нужные уровни доступа. Модуль авторизации добавлять не нужно, при правильном использовании АЦЛ пользователя автоматически перекинет на страничку авторизации , а затем обратно на компонент ) Или топайте в libraries/joomla/user/authorithation.php и там выставьте уровень доступа на компонент.