Typoscript DatabaseQueryProcessor - скользить, если поле пустое

Используйте этот код:

 HttpContext.Current.Server.MapPath("~")

Подробное описание:

Server.MapPath указывает относительный или виртуальный путь для отображения в физический каталог.

  • Server.MapPath(".") возвращает текущий физический каталог исполняемого файла (например, aspx)
  • Server.MapPath("..") возвращает родительский каталог
  • Server.MapPath("~") возвращает физический путь к корень приложения
  • Server.MapPath("/") возвращает физический путь к корню имени домена (не обязательно совпадает с корнем приложения)

Например:

Предположим, вы указали приложение веб-сайта ( http://www.example.com/ ) на

C:\Inetpub\wwwroot

и установили (sub web как виртуальный каталог в IIS, помеченный как приложение) в

D:\WebApps\shop

Например, если вы вызываете Server.MapPath в следующем запросе:

http://www.example.com/shop/products/GetProduct.aspx?id=2342

, тогда :

Server.MapPath(".") returns D:\WebApps\shop\products
Server.MapPath("..") returns D:\WebApps\shop
Server.MapPath("~") returns D:\WebApps\shop
Server.MapPath("/") returns C:\Inetpub\wwwroot
Server.MapPath("/shop") returns D:\WebApps\shop

Если Path начинается с перемотки вперед (/) или обратной косой черты (), метод MapPath возвращает путь, как если бы Path был полным виртуальным путем.

Если Путь не начинается с slash, метод MapPath возвращает путь относительно каталога обрабатываемого запроса.

Примечание: в C #, @ - оператор стенографической строки, означающий, что строка должна использоваться " как и "и не обрабатывается для управляющих последовательностей.

Сноски

Server.MapPath(null) и Server.MapPath("") также будут давать этот эффект.

0
задан bschauer 27 February 2019 в 08:47
поделиться

1 ответ

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

page = PAGE
page {
    10 = FLUIDTEMPLATE
    10 {
        dataProcessing {
            10 = TYPO3\CMS\Frontend\DataProcessing\MenuProcessor
            10 {
                special = rootline
                special.range = 0|-1
                special.reverseOrder = 1
                as = rootline
                dataProcessing {
                    10 = TYPO3\CMS\Frontend\DataProcessing\DatabaseQueryProcessor
                    10 {
                        if.isTrue.field = tx_myext_topofferitem
                        table = tx_myext_topofferitem
                        pidInList.field = uid
                        selectFields = tx_myext_topofferitem.*
                        join = tt_content_tx_topofferitem_mm ON tt_content_tx_topofferitem_mm.uid_foreign = tx_myext_topofferitem.uid
                        where.data = field:uid
                        where.intval = 1
                        where.wrap = tt_content_tx_topofferitem_mm.uid_local=|
                        orderBy = tt_content_tx_topofferitem_mm.sorting
                        as = tx_myext_topofferitem_items
                    }
                }
            }
        }
    }
}
0
ответ дан Jo Hasenau 27 February 2019 в 08:47
поделиться
Другие вопросы по тегам:

Похожие вопросы: