1

2列のレイアウトを持つオーチャードcmsでカスタムタイプを作成しました

2つのヘッダーテキストファイルと2つのコンテンツHTMLフレーバーファイルがあります

移行は次のとおりです。

public class MigrationTwoColumnPageType : DataMigrationImpl
{
    public int Create()
    {
        // Define the project type 
        ContentDefinitionManager.AlterTypeDefinition("TwoColumnPage", cfg => cfg
            .WithSetting("Stereotype", "Content")
            .CommomPart()
            .AutoroutePart()
            .WithPart("TitlePart")
            .WithPart("MenuPart")
            .WithPart("TagsPart")
            .WithPart("PublishLaterPart")
            .WithPart("TwoColumnPage")
            .Creatable()
            .Draftable());

        return 1;

    }

    public int UpdateFrom1()
    {
        // Define project part - having a part with the same name will create fields in the project type
        ContentDefinitionManager.AlterPartDefinition("TwoColumnPage", builder => builder
           .TextField("Column1Title", Flavour.Large)
           .TextField("Column1Text", Flavour.Html)
           .TextField("Column2Title", Flavour.Large)
           .TextField("Column2Text", Flavour.Html)
           .Attachable());

        return 2;
    }   
}

注:TextFieldは、冗長性を減らすためのカスタム拡張メソッドです。

メディアピッカーを使用してこれらのコンテンツフィールドの1つに画像をアップロードしようとすると、フォルダが見つかりませんというエラーが発生します-これは、リクエストクエリ文字列が設定されていないメディアパスにまでさかのぼります

// media directory to save uploaded files into
    var mediaPath = Request["uploadpath"];

../../Orchard.MediaPicker/Views/admin/Tab_Url.cshtml

ファイル設定を使用してこれを設定する方法はありますか?

作成したすべてのページで正常に機能するようですが、カスタムタイプ....この値を設定するにはどうすればよいですか?

アップデート

これがページのxmlメタデータです...

<!--Exported from Orchard-->
<Orchard>
  <Recipe>
    <Name>Generated by Orchard.ImportExport</Name>
    <Author>admin</Author>
  </Recipe>
  <Metadata>
    <Types>
      <Page ContentTypeSettings.Creatable="True" ContentTypeSettings.Draftable="True" TypeIndexing.Included="true" DisplayName="Page">
        <NavigationPart />
        <CommonPart DateEditorSettings.ShowDateEditor="true" />
        <PublishLaterPart />
        <TitlePart />
        <AutoroutePart AutorouteSettings.AllowCustomPattern="true" AutorouteSettings.AutomaticAdjustmentOnEdit="false" AutorouteSettings.PatternDefinitions="[{Name:'Title', Pattern: '{Content.Slug}', Description: 'my-page'}]" AutorouteSettings.DefaultPatternIndex="0" />
        <BodyPart />
        <TagsPart />
        <LocalizationPart />
      </Page>
    </Types>
    <Parts>
      <NavigationPart ContentPartSettings.Attachable="True" />
      <CommonPart ContentPartSettings.Attachable="True" />
      <PublishLaterPart ContentPartSettings.Attachable="True" />
      <TitlePart ContentPartSettings.Attachable="True" />
      <AutoroutePart ContentPartSettings.Attachable="True" />
      <BodyPart ContentPartSettings.Attachable="True" BodyPartSettings.FlavorDefault="html" />
      <TagsPart ContentPartSettings.Attachable="True" />
      <LocalizationPart />
    </Parts>
  </Metadata>
</Orchard>

BodyPartSettingの代わりにTestFiledSettingを使用した、カスタムタイプのXMLメタを次に示します。

<!--Exported from Orchard-->
<Orchard>
  <Recipe>
    <Name>Generated by Orchard.ImportExport</Name>
    <Author>admin</Author>
  </Recipe>
  <Metadata>
    <Types>
      <TwoColumnPage Stereotype="Content" OwnerEditorSettings.ShowOwnerEditor="false" ContentTypeSettings.Creatable="True" ContentTypeSettings.Draftable="True" DisplayName="Two Column Page">
        <CommonPart />
        <AutoroutePart AutorouteSettings.PatternDefinitions="[{Name:'/Title', Pattern: '/{Content.Slug}', Description: 'my-page'}]" />
        <TitlePart />
        <MenuPart />
        <TagsPart />
        <PublishLaterPart />
        <TwoColumnPage />
      </TwoColumnPage>
    </Types>
    <Parts>
      <CommonPart ContentPartSettings.Attachable="True" />
      <AutoroutePart ContentPartSettings.Attachable="True" />
      <TitlePart ContentPartSettings.Attachable="True" />
      <MenuPart ContentPartSettings.Attachable="True" />
      <TagsPart ContentPartSettings.Attachable="True" />
      <PublishLaterPart ContentPartSettings.Attachable="True" />
      <TwoColumnPage ContentPartSettings.Attachable="True">
        <Column1Title.TextField TextFieldSettings.Required="True" TextFieldSettings.Flavor="Large" TextFieldSettings.Hint="" />
        <Column1Text.TextField TextFieldSettings.Required="True" TextFieldSettings.Flavor="Html" TextFieldSettings.Hint="" />
        <Column2Title.TextField TextFieldSettings.Required="True" TextFieldSettings.Flavor="Large" TextFieldSettings.Hint="" />
        <Column2Text.TextField TextFieldSettings.Required="True" TextFieldSettings.Flavor="Html" TextFieldSettings.Hint="" />
      </TwoColumnPage>
    </Parts>
  </Metadata>
</Orchard>

どちらにもdata-mediapicker-uploadpathについての言及はありません。私はまだ迷っています!

4

0 に答える 0