Расширение классов

Расширение классов

CrazyHackGUT

Проверенные
Сообщения
3,790
Решения
120
Реакции
8,837
Баллы
2,600
CrazyHackGUT добавил(а) новый ресурс:

Расширение классов - Немного о правильном наследовании классов в XenForo v2

Введение
XenForo v2 предоставляет отличную возможность аддонам модифицировать поведение стандартных классов, вроде шаблонизатора, энтити объектов базы данных и много другого. При этом, возможно расширение логики одного единственного класса несколькими аддонами. То есть, мы можем расширить XF\Entity\User в нескольких аддонах, которые делают разные вещи над этой энтити, и все наши модификации будут работать совместно.
Обратите внимание: в этом руководстве я...

Узнать больше об этом ресурсе...
 
А для красоты, наглядности и понятности лучше сохранять оригинальный путь:
Потому, идём в src/addons/Kruzya/ThreadCurator/Entity и создаём класс-пустышку, который наследует поведение XF/Entity/Thread.
src/addons/Kruzya/ThreadCurator/XF/Entity
 
Последнее редактирование:
Стоит добавить, что теперь в 2.1 требуется не режим отладки, а режим разработки.
 
А как подключить расширенный класс на страницу сайта, в папку /forum которого, установлен XenForo 2 ?
 
Deniz, вопрос в корне непонятен.
Движок его сам подключает, если правильно расположить и добавить в админке расширение.
 
Есть сайт и в папку /forum установлен XenForo 2.1.1
Как начать пользоваться классами XenForo на страницах сайта?
Я сделал по инструкции на xenforo.com расширение класса и хочу подключить его, но не умею.
сейчас это делаю так:
require('forum/src/XF.php');
\XF::start('../forum');
$repo = \XF::repository('Demo\XF\Pub\Controller\Member');

пишет ошибку
Fatal error: Class 'Demo\XF\Pub\Controller\XFCP_Member' not found in /var/www/site.ru/public_html/forum/src/addons/Demo/XF/Pub/Controller/Member.php on line 5

Это уже получается два вопроса:
Как подключить XenForo
и
Как подключить свой класс.
Но один вопрос растёт из другого, написал проблему которая передо мной стоит.
Но глобально интересует вопрос: Как правильно подключать классы XenForo 2.1.1 на страницах сайта.
 
Вы пытаетесь репозиторием подключить контроллер? Не смущает, что там слова даже разные?
 
  • Мне нравится
Реакции: Hope
Смущает, очень, поэтому первый раз и не писал...
НЕ УМЕЮ, СПРАШИВАЮ. КАК.
 
Deniz, выше ссылки на документации. Изучайте.
 
Deniz, нанять разработчика.
 
Demo\XF\Pub\Controller\Member
Вы, если расширяете стандартный контроллер, обращайтесь к нему так же, как и в обычных случаях. XF сам расширит его до Вашего Demo\XF\Pub\Controller\Member.
 
  • Мне нравится
Реакции: Hope
Deniz, нанять разработчика.
Уже нанял двух, одного на freelansiм сру - пытался обмануть меня, но не вышло, другого нанял на эфэл точка ру - всетаки взял он своё, ушёл с деньгами. Сколько же хануриков в интернете... вай вай вай
 
Говоришь, говоришь, что хомячки которые просто кинут без проблем на фрилансе и фл без проблем, эх никто не читает...
Удачи идти на фриланс, где хомячки готовы за дошик работать, но в итоге вы не получите ничего и выкинутые деньги т.к просто кинет и не более. А серьезный человек возьмёт в 4 раза больше, особенно по 100$ час или 60 евро минимум будет брать. А помимо этого ещё отладка продукта и кучу возможностей растянуть время, вот вам там будут рады такому лоху.
А потом очередные жалобы.
В вашем разделе объявление подавал, но никто не отозвался
С таким описанием и что крутится можно долго искать.
в XF2.1 есть API
POST users/
Creates a user.
Parameters

InputTypeDescription
option[creation_watch_state]string
option[interaction_watch_state]string
option[content_show_signature]bool
option[email_on_conversation]bool
option[push_on_conversation]bool
option[receive_admin_email]bool
option[show_dob_year]bool
option[show_dob_date]bool
profile[location]string
profile[website]string
profile[about]string
profile[signature]string
privacy[allow_view_profile]string
privacy[allow_post_profile]string
privacy[allow_receive_news_feed]string
privacy[allow_send_personal_conversation]string
privacy[allow_view_identities]string
visiblebool
activity_visiblebool
timezonestring
custom_titlestring
option[is_discouraged]bool
usernamestring
emailstring
user_group_idinteger
secondary_group_idsinteger[]
user_statestring
is_staffbool
message_countinteger
reaction_scoreinteger
trophy_pointsinteger
passwordstring
dob[day]integer
dob[month]integer
dob[year]integer
custom_fields[<name>]string
Response
OutputTypeDescription
successtrue
user
Послали запрос и готово.

POST auth/
Tests a login and password for validity. Only available to super user keys.

Parameters

InputTypeDescription
loginstringThe username or email address of the user to test
passwordstringThe password of the user
limit_ipstringThe IP that should be considered to be making the request. If provided, this will be used to prevent brute force attempts.
Response
OutputTypeDescription
user If successful, the user record of the matching user
Авторизация послал передал параметры и готово
 
Запросы по API это удобно, быстро, и это мне понятно. Я делал регистрацию авторизацию на своей связке сайт-форум сам, на XenForo1, она работает до сих пор. Но мне не нравится что при этом надо полностью подтирать все кнопки регистрации авторизации с форума, Поскольку авторизация односторонняя, в смысле, выполнялась на сайте и, затем данные передавались на форум, и на форуме происходила своя авторизация. Таким образом для пользователя визуально выглядит как будто он зарегистрировался на ЕДИНОМ сервисе и ему доступен и сайт и форум, а фактически там было все врозь, и всего-то одинакового, это - имя пользователя.
И сейчас по этому же алгоритму я могу сделать тоже самое с XenForo 2.1, тем более, с API это легче и наверное изящней и точно безопасней...
Но идея в другом, в том чтобы полностью всю регистрацию делать на форуме, а на сайт только лишь куки передавать. Но кнопки "регистрация" и "вход" на сайте должны быть, от них не деться, и вопрос в том чтобы саму форму (модальное окно) вызывать на сайт.
 
Ну и что мешает это сделать?) Делайте как угодно модальное окно, это со стороны разметки уже вызывается и поля, а кнопка уже отправляет данные в форме через API.
 
Ну вот главный то вопрос в том, что может быть можно не делать вручную эту разметку, может можно просто вызывать её методами форума, подключив классы на страницу сайта. Этого делать я не умею, и если это вообще возможно, то ищу исполнителя главным образом на эту работу.
Потому что хочется унификации, тогда обновления версии форума будет происходить безболезненно. Или расширил, допустим, функционал авторизации с ВК, и вот никакую разметку править не надо на сайте, - только на форуме.
 
Современный облачный хостинг провайдер | Aéza
Назад
Сверху Снизу