Не могу создать материал

Главные вкладки

Аватар пользователя Demidovez Demidovez 1 октября 2018 в 8:52

Здравствуйте. Не могу создать материал, нажимаю "Добавить материал" и пишет страница не найдена. Приходится пересоздавать весь проект с друпалом (делаю на локалке), и тогда все норм, но потом опять ошибка. Помогите Sad

Комментарии

Аватар пользователя ivnish ivnish 1 октября 2018 в 9:47

Такое ощущение, что у вас либо отсутствует файл .htaccess в корне проекта, либо не работает mod_rewtite, если веб-сервер Apache2

Аватар пользователя Orion76 Orion76 2 октября 2018 в 8:03

Данных для анализа проблемы маловато..
Хорошо бы знать:
1.Путь ссылки "Добавить материал" как при правильной работе, так и при ошибке.
2.Последние логи php, web-сервера сразу после перехода с результатом "страница не найдена".
3.Какие действия по настройке сайта производились перед тем, как начала появляться данная "ошибка"

Аватар пользователя Demidovez Demidovez 2 октября 2018 в 9:17

1. и там и там /web/node/add (http://joxi.ru/DmBznjdIJJz5om)
2. пусто, сделал осознано ошибку в коде, логи сработали, при переходе на "Добавить материал" логов нету.
3.
3.1 Сразу развернул друпал при помощи composer
3.2 создал базу
3.3 прошел шаги установки друпала
3.4 создал тип материала
3.5 добавил к нему два поля (дата и целое число)
3.6 сделал дубль отображения "Страница"
3.7 сделал формат таблицей
3.8 добавил два поля (http://joxi.ru/Y2LKyoxs77QV7m)
3.9 добавил материал (просто заголовок добавил)
3.10 потом могу добавить какой-нибудь поле, или изменить отображение, или еще что-то и все, пытаюсь добавить материал - пишет Страница не найдена

еще иногда пропадают вкладки (http://joxi.ru/8AnpGn8Szz7gEm)
если попытаться открыть материал через сайт (а не админку) то http://joxi.ru/KAxbVqQSZZ1Bem

Аватар пользователя ivnish ivnish 2 октября 2018 в 9:28
1

Почему /web/node/add то??

Каталог web должен быть корневым каталогом при установке через composer drupal project. Вот и всё. Настройте вебсервер на каталог web и всё заработает

Аватар пользователя Demidovez Demidovez 2 октября 2018 в 9:31

на одном уровне с web есть еще ведь каталоги, получается что в папке с доменами у меня будет каша, как-то это не очень, или я что-то не так делаю?

Аватар пользователя ivnish ivnish 2 октября 2018 в 9:37

Пример: допустим у вас структура по умолчанию:

/home/user/www

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

Но т.к. ядро лежит в web, то вам нужно перенастроить ваш вебсервер с каталога /home/user/www на каталог /home/user/www/web

Аватар пользователя Orion76 Orion76 2 октября 2018 в 9:41

все очень просто.
/var/www/my_drupal - папка проекта (папка "установки" drupal8)
/var/www/my_drupal/web - корневая папка сайта

Аватар пользователя Demidovez Demidovez 2 октября 2018 в 10:35

1. создал проект:
cd C:\ospanel\domains\
composer create-project drupal-composer/drupal-project:8.x-dev drupal10 --stability dev --no-interaction

cd drupal10\web
composer require drupal/bootstrap drupal/Checklistapi drupal/Coffee drupal/admin_toolbar drupal/console drupal/redirect drupal/pathauto drupal/metatag drupal/hreflang drupal/xmlsitemap drupal/google_analytics drupal/easy_breadcrumb drupal/linkit drupal/editor_advanced_link drupal/sitemap drupal/search404 drupal/yoast_seo drupal/diff drupal/scheduler drupal/security_review drupal/advagg drupal/cloudflare drupal/webform drupal/fontawesome

2. Создал базу данных

3. Прошел шаги установки

4. Создал тип материала

5. Удалил поле body

6. Добавил поле дата и поле целое число

7. Продублировал отображение Страница, добавил эти поля, отобразил их как таблица, изменил путь на node/%

8. Через админку нажимаю добавить материал и меня перекидывает на Страница не найдена.

Аватар пользователя Demidovez Demidovez 2 октября 2018 в 10:55
#-----------------------------------------------#
# Начало блока конфигурации HTTP хоста
#-----------------------------------------------#

<VirtualHost *:%httpport%>

    DocumentRoot    "%hostdir%"
    ServerName      "%host%"
    ServerAlias     "%host%" %aliases%
    ScriptAlias     /cgi-bin/ "%hostdir%/cgi-bin/"
    php_value error_log "%hostdir%/error.log"
    php_flag log_errors on

</VirtualHost>

#-----------------------------------------------#
# Конец блока конфигурации HTTP хоста
#-----------------------------------------------#

#-----------------------------------------------#
# Начало блока конфигурации HTTPS хоста
#-----------------------------------------------#

<IfModule ssl_module>
<VirtualHost *:%httpsport%>

    DocumentRoot    "%hostdir%"
    ServerName      "%host%"
    ServerAlias     "%host%" %aliases%
    ScriptAlias     /cgi-bin/ "%hostdir%/cgi-bin/"

    SSLEngine       on
    #Header always set          Strict-Transport-Security "max-age=94608000"

    #SSLCACertificateFile       ""
    #SSLCertificateChainFile    ""

    SSLCertificateFile          "%sprogdir%/userdata/config/cert_files/server.crt"
    SSLCertificateKeyFile       "%sprogdir%/userdata/config/cert_files/server.key"

    SetEnvIf User-Agent ".*MSIE [1-5].*" \
    nokeepalive ssl-unclean-shutdown \
    downgrade-1.0 force-response-1.0

    SetEnvIf User-Agent ".*MSIE [6-9].*" \
    ssl-unclean-shutdown

    <FilesMatch "\.(cgi|shtml|phtml|php)$">
        SSLOptions              +StdEnvVars
    </FilesMatch>

    <Directory "%hostdir%/cgi-bin/">
        SSLOptions              +StdEnvVars
    </Directory>

    php_value error_log "%hostdir%/error.log"
    php_flag log_errors on

</VirtualHost>
</IfModule>

#-----------------------------------------------#
# Конец блока конфигурации HTTPS хоста
#-----------------------------------------------#

Аватар пользователя Demidovez Demidovez 2 октября 2018 в 10:52

1. создал проект:
cd C:\ospanel\domains\
composer create-project drupal-composer/drupal-project:8.x-dev drupal11 --stability dev --no-interaction

ДОП. МОДУЛИ ТЕПЕРЬ НЕ СТАВИЛ

2. Создал базу данных

3. Прошел шаги установки

4. Создал тип материала

5. Удалил поле body

6. Добавил поле дата и поле целое число

7. Продублировал отображение Страница, добавил эти поля, отобразил их как таблица, изменил путь на /node/%

8. Через админку нажимаю добавить материал и меня перекидывает на Страница не найдена.

Аватар пользователя Orion76 Orion76 2 октября 2018 в 10:55

понятно, дело в вашей ospanel
конфиг вероятно генерируется автоматически, если его можно изменять в ручную,
спецы по апачу вероятно дадут более полные рекомендации, но Вам как минимум необходимо чтобы DocumentRoot указывал на папку web
что-то типа такого:
было DocumentRoot "%hostdir%"
стало DocumentRoot "%hostdir%/web"

Аватар пользователя Orion76 Orion76 2 октября 2018 в 10:59

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

главное, чтобы DocumentRoot у казывал на
C:\ospanel\domains\drupal10\web

Аватар пользователя Demidovez Demidovez 2 октября 2018 в 11:12

сделал, и попробовал все заново, только после каждого этапа пробовал нажать на Добавить материал

итог - после дублирования отображения Страница и указании пути, нажатие переводит на Страница не найдена

Аватар пользователя Orion76 Orion76 2 октября 2018 в 11:25

node/% - это системный путь для материала типа node.
Никогда не пытался его переопределить, поэтому не могу сказать, как его переопределение может повлиять на работу друпал.

Не совсем понятно, зачем Вы его переопределяете.

И кстати, а как Вы настроили контекстные фильтры (раскройте блок Расширенные (справа))

Аватар пользователя Orion76 Orion76 2 октября 2018 в 11:32

в контекстных фильтрах определяется, что означает "символ" "%" в пути "node/%"

Лучше объясните, пожалуйста, зачем Вы делаете этот вьюс?
Возможно, для того что Вы делаете есть более стандартные, а следовательно, полностью рабочие решения .

Аватар пользователя Demidovez Demidovez 2 октября 2018 в 14:59

пробовал сопоставить но все равно, материалы срабатывают, а node/add нет

если без %, то как мне задать например, чтобы внутри была таблица из полей?

для пути /node?

тогда таблицей будет отображаться список, а материалы будут не тронуты

Аватар пользователя Orion76 Orion76 2 октября 2018 в 15:23
1

"/node" это системный путь для материала типа node
в вьюсах Вы можете использовать любой другой путь, отличный от системного:
mynode, article и т.д и т.п., т.е. любой набор букв, тире и знаков подчеркивания, не совпадающий с системными путями.

На ютубе есть куча роликов про использование модуля Views в Drupal.
Посмотрите, лучше поймете правила работы с ним и сэкономите кучу времени..