генериране на заглавие на страница с бръснач скрипт - umbraco

Така че аз се опитвам да създам скрипт, чрез който в зависимост от типа на документа на страницата ще се появи определен предварително дефиниран формат на таг за заглавие, ако няма нищо, което вече е написано в презаписващо персонализирано въвеждане на заглавие. Вмъкнах макроса в маркера title на моя главен шаблон, но продължавам да получавам съобщение за грешка при зареждане на Razor Script.

Html

<title>
    <umbraco:Macro Alias="NewPageTitle" runat="server"></umbraco:Macro>
</title> 

скрипт -

@inherits umbraco.MacroEngines.DynamicNodeContext
@using umbraco.MacroEngines

    @{
      if(String.IsNullOrEmpty(@Model.tabName.ToString()) == false )
        {
          @Model.tabName
        }

      else if(@Model.DescendantsOrSelf("Country"))
        {
          <text>
            Holidays in @Model.Name
          </text>
        }

      else 
        {
          @Model.Name;
        }
    }

Всяка помощ ще бъде високо оценена.


person Dante    schedule 16.11.2014    source източник


Отговори (2)


Опитайте този код. Проблемът с вашия оригинален код е, че сте използвали "@Model.DescendantsOrSelf("Country")" като булево значение и това е списък. Премахнах и вашето сравнение за if(String.IsNullOrEmpty(@Model.tabName.ToString())).

Освен това, ако добавите ?umbDebugShowTrace=true в края на вашия URL адрес, можете да получите ценна информация за отстраняване на грешки. Има разширение за Chrome, наречено „Umbraco Debug“, което използвам за бърз достъп до този низ на заявка и информация. Може да ви бъде полезно.

@inherits umbraco.MacroEngines.DynamicNodeContext
@using umbraco.MacroEngines

    @{
      if(String.IsNullOrEmpty(@Model.tabName.ToString()))
        {
          @Model.tabName
        }

      else if(@Model.DescendantsOrSelf("Country").Count() > 0)
        {
          <text>
            Holidays in @Model.Name
          </text>
        }

      else 
        {
          @Model.Name;
        }
    }
person Hideous1    schedule 01.12.2014
comment
Благодаря Отвратителен! Не бях мислил за това по този начин и сега работи добре, много оценявам. д - person Dante; 05.12.2014
comment
@Dante - Радвам се, че можах да помогна. Все още уча тези неща, така че всяка помощ, която мога да предоставя, помага и на мен. Ако имате възможност, маркирайте това като отговор, за да може да се актуализира и аз да получа кредит LOL! Късмет! =) - person Hideous1; 22.10.2015

много е просто, просто добавете следния код във вашия заглавен таг

@Umbraco.Field("pageName")

ще покаже pageName, можете също да добавите персонализирани свойства от типа документ. напр. сте добавили ново свойство като "metaKeywords" със стойност "html,javascript,xml", извлечете тези стойности по следния начин...

@Umbraco.Field("metaKeywords")

дори не е необходимо да добавяте персонализирани свойства във вашия модел

person Nimesh khatri    schedule 21.04.2016