1. Идем в директорию core/components/office/controllers/ и создаем там свой класс.
Например, customauth.class.php
2. Расширяем в нем стандартный класс авторизации
<?php
if(!class_exists('officeAuthController')) {
require_once 'auth.class.php';
}
class officeCustomAuthController extends officeAuthController {
//здесь будут расширяемые функции
}
return 'officeCustomAuthController';
3. Идем в core/components/office/controllers/auth.class.php и ищем в нем дефолтную функцию, которую хотим модифицировать. В вашем случае это formLogin. Копируем её.
4. Вставляем в отмеченном месте из шага 2 данную функцию.
5. Заменяем желаемый участок кода
6. Идем в вызываемый чанк нужной формы Office и меняем там auth/formLogin на наш customauth/formLogin
Ну и пример оптимизированного проекта.
После
Прописываем:
— в местах, где определяется «вкладка» дописать необходимые плейсхолдеры по вкусу и готово.
Если что-то не получится — могу выслать куда-нибудь готовый код плагина.
Сроки: 5 дней, ценник: 20к.
Вы можете изменить это через модификацию pdoPage.js или при помощи css через display: block !important.
А вообще, для поисковиков в должно хватать и sitemap'a.
1. Идем в директорию core/components/office/controllers/ и создаем там свой класс.
Например, customauth.class.php
2. Расширяем в нем стандартный класс авторизации
3. Идем в core/components/office/controllers/auth.class.php и ищем в нем дефолтную функцию, которую хотим модифицировать. В вашем случае это formLogin. Копируем её.
4. Вставляем в отмеченном месте из шага 2 данную функцию.
5. Заменяем желаемый участок кода
6. Идем в вызываемый чанк нужной формы Office и меняем там auth/formLogin на наш customauth/formLogin
Готово.
2. Реализуете на его основе модификатор
3. Прописываете с ним необходимые условия
— если вам необходимо добавить страницы пользователей в sitemap, то это можно сделать в рамках pdoUsers
— если вам необходимы динамичные заголовки и мета-теги, то можно сделать примерно так:
1. В плагине создаем плейсхолдер user_id
2. В мета-тегах проверяем его наличие:
— надеюсь логика понятна..)
Что же до примера со вторым вариантом, то примерно вот так:
1. Создание страницы пользователя (тикетом)
2. Синхронизируем данные (в одну сторону — от пользователя к странице). Соответственно, если есть потребность редактировать поля пользователя из админки через его страницу, потребуется еще один плагин.
Ну и еще есть вариант, что что-то с настройками smtp/хостингом.
Если вам не нужно будет фильтровать акции по партнерам — для вас это оптимальный и наиболее удобный вариант.
В первой колонке выбираете партнера (из того же тв-поля), во второй прописываете ссылку до их посадочной страницы.
Вообще, через чекбоксы такие списки лучше не выводить (партнеров ведь может быть много), поэтому уместнее было бы реализовать список партнеров в виде тв-типа «список ресурсов» или «список (множественный выбор)».
Во втором случае в возможных значениях необходимо указать:
И создать новый сниппет, который будет возвращать результаты:
В таком случае «привязка» партнеров будет происходить по их id, что позволит свободно изменять их остальные данные без опасения потерять выбранных парнетров.
Нужно смотреть консоль ошибок вашего сайта в браузере и лог MODX'a.