как сделать мультисайт с одним приложением codeigniter? - PullRequest
0 голосов
/ 05 февраля 2019

Я пытаюсь разработать систему покупок с помощью codeigniter.

Я разрабатываю бэкэнд и интерфейс моей системы покупок.

Но моя проблема в том, что я хочу использоватьэтот код для многих магазинов.

Например, мой основной адрес - shop.com.

Я хочу, чтобы люди могли иметь в своей системе собственный магазин со своей собственной подпапкой, например: shop.com/shop1 |shop.com/shop2 & ...

Я хочу разместить подпапку пользователей вне папки приложения.

Мой список каталогов выглядит так:

shop.com
-application
--cache
--config
--controllers   
--core
--helpers
--...(other application contents)
-assets
-attachments
-system
-shop1
-shop2
& ...

Я делаю всемагазин запчастей и все в порядке, когда я звоню shop.com.

Теперь я хочу создать shop1 с определенной подпапкой и базой данных.

Я могу создать отдельную базу данных для каждого магазина и подключить кодв свою собственную базу данных.после этого я вызываю shop.com/shop1, и главная страница загружается как чудо.

Но когда я вызываю контроллеры магазинов (пример: shop.com/shop1/checkout), я получаю ошибку 404.

И в конце я заметил две вещи:

1 - я использую исходный код codeigniter root index.php в качестве моего shop1 / index.php

2 - я изменяю $ system_path на../system и $ application_folder to ../application

Кажется, codeigniter не может правильно найти контроллеры.

Что я могу сделать для решения этой проблемы?

1 Ответ

0 голосов
/ 06 февраля 2019

Вы имеете в виду HMVC?

  1. Скачать файлы и скопировать Ci3.0 forder в приложение: https://bitbucket.org/wiredesignz/codeigniter-modular-extensions-hmvc/downloads
  2. Создать и скопировать в .htaccess

    RewriteEngine On RewriteCond% {REQUEST_FILENAME}! -F RewriteCond% {REQUEST_FILENAME}! -D RewriteRule ^ (. *) $ Index.php / $ 1 [L]

3.Создатьимя папки 'modules' в приложении / 4.Создайте имя папки 'папка' в приложении / modules 4.Создайте имя папки 'контроллеры, модели, виды' в приложении / modules / folder 5.Создайте имя файла 'имя файла та же папка' вприложение / модули / папка / контроллеры

для ошибки вставьте это в MX / Loder.php

return $this->_ci_load(array('_ci_view' => $view, '_ci_vars' => $this->_ci_prepare_view_vars($vars), '_ci_return' => $return));
...