#umbraco #umbraco6
#umbraco #umbraco6
Вопрос:
Я новичок в umbraco и использую последнюю версию umbraco 6… На самом деле это глупая ошибка, но мне любопытно..
У меня есть два содержимого, скажем, элемент a и элемент b.. Эти два элемента будут публиковаться поочередно. таким образом, к нему можно получить доступ через «mysite / item_active»..
Сегодня -> элемент a -> измените имя на item_active -> сохранить публикацию -> измените вчерашний элемент активным на item_b..
Но почему-то я забыл использовать сохранить публикацию вчера.. И нажимайте сохранить только для того, чтобы URL-адрес содержимого не обновлялся..
Тогда как umbraco выберет элемент для рендеринга (оба элемента теперь имеют URL «mysite / item_active»)?
День, о котором я вас спрашивал, выходной до понедельника.. И у меня нет доступа к этому сайту (потому что это внутренний сайт компании) из дома..
Основаны на узле? рендерится меньший узел или будет отображаться последний публикуемый элемент?
Комментарии:
1. Не знаю, правильно ли я понял, но Umbraco 6 не является последней версией Umbraco… Сегодня версия 7.5.4.
2. да, это старый сайт.. не требуется обновлять его до последней версии
Ответ №1:
Umbraco не позволит вам сохранять и публиковать два элемента с одинаковым URL / именем узла (на одном уровне дерева). Он автоматически добавит номер версии, например (1) для следующего узла с тем же именем, а затем дружественный URL станет /mysite/item-active-1 в вашем случае.
Я тестировал этот сценарий, и Umbraco возвращает эту информацию, когда вы пытаетесь опубликовать элемент с тем же именем, что и существующий:
Итак, теоретически — у нас есть два опубликованных элемента, но только один все еще находится в кэше XML (IPublishedContent), из которого Umbraco сначала извлекает содержимое. Второй элемент не будет виден до тех пор, пока мы не изменим URL-адреса / имена на другие или не выполним публикацию для первого элемента, после чего будет применен сценарий, описанный в начале.
Может быть, стоит подумать о том, чтобы использовать ее как ту же страницу и просто поменять местами шаблоны, на которых вы можете отображать значения определенных свойств? Или наличие средства выбора контента или чего-то еще, чтобы определить, какая версия сайта должна быть помечена как активная и используемая?
Комментарии:
1. это возможно, если вы пропустите публикацию, только сохраните.. допустим, элемент a -> сохранить публикацию в элемент active -> url будет / item-active, затем измените его обратно на элемент a без публикации, URL будет тем же.. Затем измените элемент b -> сохранить публикацию на элемент active -> url будет / item-active .. Итак, у нас есть 2 одинаковых URL
2. Хм, я вижу проблему. Umbraco возвращает эту информацию в результате моей попытки: d17oy1vhnax1f7.cloudfront.net/items/2w2E2o19423u2G3S3e1c/… (Я попытался опубликовать второй элемент после того, как первый был только что сохранен). Итак, теоретически, в результате мы опубликовали элементы 1 и 2, но элемент 1 все еще находится в кэше XML, из которого Umbraco берет содержимое, поэтому элемент 2 не будет виден, пока мы не вернемся к элементу 1 или не изменим URL / имя на другое.
3. Да.. Я забыл проверить кэш xml.. да, это, вероятно, согласно вашему комментарию
4. Рад, что все отсортировано 🙂 Попробуйте подумать о наличии отдельных шаблонов или даже использовать вложенный контент или средство выбора контента, чтобы определить, какую версию сайта следует использовать в качестве активной.
5. Да, хорошее предложение.. Спасибо.. Я изменю его на средство выбора контента