[Решено] Fenom и integer
Как привести переменную фенома к типу integer?
Дело в том, что у меня очень много id страниц находятся в словарях и вызываю я их таким образом:
Что делать в таком случае?
Дело в том, что у меня очень много id страниц находятся в словарях и вызываю я их таким образом:
{$_modx->makeUrl($_modx->lexicon('link_contacts'))}Всё вроде бы работает, но в лог постоянно сыпятся подобные строки:[2015-11-27 09:36:05] (ERROR @ /index.php) `link_contacts` is not a valid integer and may not be passed to makeUrl()
[2015-11-27 09:36:05] (ERROR @ /index.php) `link_sitemap` is not a valid integer and may not be passed to makeUrl()
...Варианты типа{int()$_modx->lexicon('page.id.34')}ни к чему не привели, только феном ломают.Что делать в таком случае?
Комментарии: 9
Авторизуйтесь или зарегистрируйтесь, чтобы оставлять комментарии.
Ну и вообще, использовать лексикон для хранения системных настроек — свежее решение. Действительно, сколько можно хранить настройки контекстов в настройках контекстов? Надо же что-то новенькое придумать =)
и на сайте ссылки формируются нормально! Просто сайт большой, и на каких-то страницах наверное не подгружается. Мне наверное стоит лексикон загружать в каждом чанке где есть вызов лексиконов...
Не додумался сразу, классная мысль. Но дело в том, что сайт на 3-х языках, и структура сайта такая, что требует для каждого языка похожим страницам один id. И таких ссылок очень много, от 200 и выше. В процессе разработки мне было проще это в лексиконы забивать, просто представляю себе как бы мне нужно было бы бегать по контекстам и забивать туда в настройки то, что в лексиконах проще вбить. И как бы назывались эти системные настройки, так: [[++lexicon.page.id.118]]?
Разница в том, что лексикон нужно грузить, а настройки — нет, они сами загружаются при инициализации контекста и такой проблемы не будет.
Как назовёшь, так и будет. В твоём примере, очевидно [[!++link_contacts]]
Ну и вообще, если нужно указывать 200 id страниц в настройках — что-то не так с этим сайтом.
Да, согласен, сайт весьма специфичен, и выкрутиться по другому не получилось — этого требовала логика сайта.
Спасибо, буду иметь ввиду на будущее!
Буду искать эти места на сайте, потому что ещё куча пустых значений в makeUrl() передаются, а это значит что не подставляется значение…
А насчёт link_contacts — это очень странно, т.к. он встречается только в одном месте на сайте и выводится правильно:
Может быть где-то не успевает подгрузиться… буду ещё проверять…