Перейти к содержанию
Официальный форум поддержки Simpla

Рекомендуемые сообщения

Видел на просторах интернета данное решение за "бесплатно", если это требуется многим, готов поделиться своим решением, на безвозмездной основе. Отпишитесь 20 не однодневных пользователей и я выложу данное решение.

Ссылка на сообщение
Поделиться на другие сайты

О чем вообще речь? Редирект из админки - редирект чего именно?

Изменено пользователем DaVinci
Ссылка на сообщение
Поделиться на другие сайты

О чем вообще речь? Редирект из админки - редирект чего именно?

 

из панели управления назначать редиректы, без использования htaccess , например при переезде старого сайта на новый, потому что 1000 редиректов проблематично размещать htaccess 

Изменено пользователем xilt
Ссылка на сообщение
Поделиться на другие сайты

из панели управления назначать редиректы, без использования htaccess , например при переезде старого сайта на новый, потому что 1000 редиректов проблематично размещать htaccess 

 

и вы хотите 1000 урл забить вручную? так это не делается....

 

для небольшого количества урл можно добавить функционал, и он не хитрый. а для переезда со старого движка все же надо автоматом формировать старые урл на новые и загонять все урл в базу или текстовый документ.

Изменено пользователем DaVinci
Ссылка на сообщение
Поделиться на другие сайты

и вы хотите 1000 урл забить вручную? так это не делается....

 

для небольшого количества урл можно добавить функционал, и он не хитрый. а для переезда со старого движка все же надо автоматом формировать старые урл на новые и загонять все урл в базу или текстовый документ.

 

Согласен, можно доработать, прикрутить импорт/экспорт

Ссылка на сообщение
Поделиться на другие сайты

Всегда найдется человек которому та или иная доработка потребуется, целесообразность уже будет выбирать сам человек который будет использовать данное решение. 

А по поводу 20 сообщений, какого содержания они должны были быть?Это попросту флуд. Если есть решение выкладывайте платно или бесплатно ваше право. Сообщения выше не касающихся темы я удаляю. 

Ссылка на сообщение
Поделиться на другие сайты
  • Решение

Решение может не идеальное на 100%, но какое есть, если заметили неточности или кривизну сообщите подправлю. Также пишите предложения о улучшении, добавления функционала.

 

1. Копируем файлы  редирект.zip
Redirect.php - в папку api
RedirectsAdmin.php - в папку admin
RedirectAdmin.php - в папку admin
redirects.tpl - в папку admin/design/html/
redirect.tpl - в папку admin/design/html/
 
2. Подключаем их
api/Simpla.php - добавляем в конец функции private $classes = array( ...  это

 

,'redirect'   => 'Redirect'

 

api/Managers.php - добавляем в конец функции public $permissions_list = array( ...  это

 

,'redirect'

 

admin/IndexAdmin.php - добавляем в конец функции private $modules_permissions = array( ... это ,

 

,'RedirectsAdmin'      => 'redirect',    

'RedirectAdmin'       => 'redirect'

 

admin/design/html/manager.tpl - добавляем в конец списка {$perms = [ , это

 

,'redirect'   =>'Редирект'

 

в папке admin/design/html/ добавляем в файлах settings.tpl, currency.tpl, deliveries.tpl, payment_methods.tpl, managers.tpl, menu.tpl
в списке {capture name=tabs} добавляем это

 

{if in_array('redirect', $manager->permissions)}<li><a href="index.php?module=RedirectsAdmin">Редирект</a></li>{/if}

 

 
3. Создаем sql таблицу, запрос такой
CREATE TABLE IF NOT EXISTS `s_redirect` (
  `id` int(11) NOT NULL AUTO_INCREMENT,
  `url` varchar(255) NOT NULL,
  `url_red` varchar(255) NOT NULL,
  `visible` tinyint(1) NOT NULL DEFAULT '0',
  PRIMARY KEY (`id`),
  KEY `enabled` (`visible`),
  KEY `url` (`url`),
  KEY `url_red` (`url_red`)
) ENGINE=MyISAM  DEFAULT CHARSET=utf8 AUTO_INCREMENT=1 ;

INSERT INTO `s_redirect` (`id`, `url`, `url_red`, `visible`) VALUES
(1, 'contact', '/', 1);

 

 
4. включаем редирект
в файле index.php в корне, вставляем
$uri=trim($_SERVER['REQUEST_URI'], '/');
$red = $view->redirect->get_redirect($uri);
if($uri==$red->url && $red->visible==1)
{
header('HTTP/1.1 301 Moved Permanently');
header('Location: '.$red->url_red);
exit;
}

    

 перед
    if(($res = $view->fetch()) !== false)
    {
    ...
    }
    else
    {
    ...
    }

    

5. Проверяем работоспособность...    
    
Изменено пользователем xilt
Ссылка на сообщение
Поделиться на другие сайты

Спасибо, сделано очень аккуратно. Только в п.4 накручено лишнее. Куда проще вставить ОДИН раз в ОДНОМ месте:

$uri=trim($_SERVER['REQUEST_URI'], '/');
$red = $view->redirect->get_redirect($uri);
    if($uri==$red->url && $red->visible==1)
    {
    header('HTTP/1.1 301 Moved Permanently');
    header('Location: '.$red->url_red);
    exit;

    }

 


 

Ссылка на сообщение
Поделиться на другие сайты
  • 9 месяцев спустя...

Добрый день.

 

Не могу найти menu.tpl, помогите, пожалуйста. Куда добавить:

 

в папке admin/design/html/ добавляем в файлах settings.tpl, currency.tpl, deliveries.tpl, payment_methods.tpl, managers.tpl, menu.tpl

в списке {capture name=tabs} добавляем это
Ссылка на сообщение
Поделиться на другие сайты

 

Добрый день.

 

Не могу найти menu.tpl, помогите, пожалуйста. Куда добавить:

 

в папке admin/design/html/ добавляем в файлах settings.tpl, currency.tpl, deliveries.tpl, payment_methods.tpl, managers.tpl, menu.tpl

в списке {capture name=tabs} добавляем это

 

 menu.tpl это дополнение, где можно созавать свои меню. в стандартной симпла его нет. можете пропускать этот файл

Ссылка на сообщение
Поделиться на другие сайты
  • 5 лет спустя...
В 10.03.2015 в 12:56, xilt сказал:

Решение может не идеальное на 100%, но какое есть, если заметили неточности или кривизну сообщите подправлю. Также пишите предложения о улучшении, добавления функционала.

 

1. Копируем файлы  редирект.zip
Redirect.php - в папку api
RedirectsAdmin.php - в папку admin
RedirectAdmin.php - в папку admin
redirects.tpl - в папку admin/design/html/
redirect.tpl - в папку admin/design/html/
 
2. Подключаем их
api/Simpla.php - добавляем в конец функции private $classes = array( ...  это

 


,'redirect'   => 'Redirect'

 

api/Managers.php - добавляем в конец функции public $permissions_list = array( ...  это

 


,'redirect'

 

admin/IndexAdmin.php - добавляем в конец функции private $modules_permissions = array( ... это ,

 


,'RedirectsAdmin'      => 'redirect',    

'RedirectAdmin'       => 'redirect'

 

admin/design/html/manager.tpl - добавляем в конец списка {$perms = [ , это

 


,'redirect'   =>'Редирект'

 

в папке admin/design/html/ добавляем в файлах settings.tpl, currency.tpl, deliveries.tpl, payment_methods.tpl, managers.tpl, menu.tpl
в списке {capture name=tabs} добавляем это

 


{if in_array('redirect', $manager->permissions)}<li><a href="index.php?module=RedirectsAdmin">Редирект</a></li>{/if}

 

 
3. Создаем sql таблицу, запрос такой

CREATE TABLE IF NOT EXISTS `s_redirect` (
  `id` int(11) NOT NULL AUTO_INCREMENT,
  `url` varchar(255) NOT NULL,
  `url_red` varchar(255) NOT NULL,
  `visible` tinyint(1) NOT NULL DEFAULT '0',
  PRIMARY KEY (`id`),
  KEY `enabled` (`visible`),
  KEY `url` (`url`),
  KEY `url_red` (`url_red`)
) ENGINE=MyISAM  DEFAULT CHARSET=utf8 AUTO_INCREMENT=1 ;

INSERT INTO `s_redirect` (`id`, `url`, `url_red`, `visible`) VALUES
(1, 'contact', '/', 1);

 

 
4. включаем редирект
в файле index.php в корне, вставляем

$uri=trim($_SERVER['REQUEST_URI'], '/');
$red = $view->redirect->get_redirect($uri);
if($uri==$red->url && $red->visible==1)
{
header('HTTP/1.1 301 Moved Permanently');
header('Location: '.$red->url_red);
exit;
}

    

 перед

    if(($res = $view->fetch()) !== false)
    {
    ...
    }
    else
    {
    ...
    }

    

5. Проверяем работоспособность...    
    

Архив битый, не распаковывается.... Можете залить заново? Заранее благодарю.

Ссылка на сообщение
Поделиться на другие сайты
  • 2 года спустя...
В 31.03.2023 в 16:15, Dmitry86 сказал:

Ни у кого не найдётся архива с файлами для этого решения?

тоже интересует.. вдруг у кого-нибудь остался?

Ссылка на сообщение
Поделиться на другие сайты
4 часа назад, 6cnitymi сказал:

Можете поделиться, пожалуйста?

https://cloud.mail.ru/public/3GgG/vGbnbuykt

Возможно, вам потребуется вносить правки в зависимости от того, как у вас настроены общие редиректы в .htaccess

Не знаю, как было изначально задумано, но в админке я вношу url в следующем виде:

Откуда: catalog/razdel-1

Куда: /catalog/razdel

Именно так, и слэш в новом ur; должен стоять в начале. Думаю, разберетесь)

Ссылка на сообщение
Поделиться на другие сайты
В 10.03.2015 в 13:37, Kors сказал:

Спасибо, сделано очень аккуратно. Только в п.4 накручено лишнее. Куда проще вставить ОДИН раз в ОДНОМ месте:


$uri=trim($_SERVER['REQUEST_URI'], '/');
$red = $view->redirect->get_redirect($uri);
    if($uri==$red->url && $red->visible==1)
    {
    header('HTTP/1.1 301 Moved Permanently');
    header('Location: '.$red->url_red);
    exit;

    }

 

 

Кстати, тут ещё можно добавить удаление всяких get-параметров, если нужно или они были раньше в ссылках:

$uri = trim(strtok($_SERVER['REQUEST_URI'], '?'), '/');

 

Ссылка на сообщение
Поделиться на другие сайты
  • 4 месяца спустя...

Присоединяйтесь к обсуждению

Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.

Гость
Ответить в этой теме...

×   Вставлено с форматированием.   Вставить как обычный текст

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

Загрузка...
×
×
  • Создать...