0

カスタムレシピでページにテキストフィールドと画像フィールドを追加する方法はありますか?レシピの一部がコマンドを処理しているように見えますが、@ http://docs.orchardproject.net/Documentation/Using-the-command-line-interfaceでこれを行うコマンドが見つかりません。

アップデート

Bertrandの回答に感謝しますが、それにはいくつかの問題があります。

1.フィールドを追加し、2。ページにパーツを追加し、3。リストを追加し、4。リストを表示するデフォルトレイヤーにコンテナウィジェットを追加したテナントから、レシピのすべてをエクスポートしました。

  <Metadata>
    <Types>
      <Page ContentTypeSettings.Draftable="True" TypeIndexing.Included="true">
        <TagsPart />
        <LocalizationPart />
        <TitlePart/>
        <AutoroutePart />
        <ContainablePart />
        <AmazonProductsPart />
        <YouTubeVideosPart />
      </Page>
    </Types>
    <Parts>
      <BodyPart BodyPartSettings.FlavorDefault="html" />
      <Page ContentPartSettings.Attachable="True">
        <Thumbnail.ImageField DisplayName="Thumbnail" ImageFieldSettings.MaxHeight="75" ImageFieldSettings.MaxWidth="75" ImageFieldSettings.Required="False" ImageFieldSettings.AlternateText="True" ImageFieldSettings.ResizeAction="Validate" />
        <PageImage.ImageField DisplayName="PageImage" ImageFieldSettings.MaxHeight="250" ImageFieldSettings.MaxWidth="0" ImageFieldSettings.Required="False" ImageFieldSettings.AlternateText="True" ImageFieldSettings.ResizeAction="Resize" />
        <PreContent.TextField DisplayName="PreContent" ImageFieldSettings.MaxHeight="0" ImageFieldSettings.MaxWidth="0" ImageFieldSettings.Required="False" ImageFieldSettings.AlternateText="False" ImageFieldSettings.ResizeAction="Validate" TextFieldSettings.Flavor="Html" TextFieldSettings.Required="False" />
        <PostContent.TextField DisplayName="PostContent" ImageFieldSettings.MaxHeight="0" ImageFieldSettings.MaxWidth="0" ImageFieldSettings.Required="False" ImageFieldSettings.AlternateText="False" ImageFieldSettings.ResizeAction="Validate" TextFieldSettings.Flavor="Html" TextFieldSettings.Required="False" />
      </Page>
    </Parts>
  </Metadata>

..。

  <Data>
    <List Id="/alias=page-list" Status="Published">
      <CommonPart Owner="/User.UserName=admin" CreatedUtc="2012-05-26T22:52:20Z" PublishedUtc="2012-05-26T22:57:37Z" ModifiedUtc="2012-05-26T22:57:37Z" />
      <AutoroutePart Alias="page-list" UseCustomPattern="false" />
      <AdminMenuPart AdminMenuPosition="2" OnAdminMenu="false" />
      <MenuPart MenuText="Page List" MenuPosition="3" OnMainMenu="false" />
      <ContainerPart ItemContentType="Page" ItemsShown="true" Paginated="true" PageSize="10" OrderByProperty="CommonPart.CreatedUtc" OrderByDirection="1" />
      <TitlePart Title="Page List" />
    </List>
    <ContainerWidget Id="" Status="Published">
      <CommonPart Owner="/User.UserName=admin" Container="/Layer.LayerName=Default" CreatedUtc="2012-05-26T22:55:42Z" PublishedUtc="2012-05-26T22:55:42Z" ModifiedUtc="2012-05-26T22:55:42Z" />
      <WidgetPart Title="Page List" Position="1" Zone="AsideFirst" RenderTitle="false" />
      <ContainerWidgetPart Container="/alias=page-list" PageSize="5" OrderByProperty="CommonPart.CreatedUtc" OrderByDirection="1" ApplyFilter="false" FilterByProperty="CustomPropertiesPart.CustomOne" FilterByOperator="=" />
    </ContainerWidget>
  </Data>

次に、適切なモジュールをアクティブにして、デフォルトのレシピのコピーにそれを挿入します。

そのレシピから新しいテナントを作成するときは、

  1. すべてのモジュールが有効になっています
  2. リストが作成されました、良い
  3. このページにはパーツが追加されています。
  4. ページに追加されたフィールドがありません、悪い
  5. コンテナウィジェットが存在しません、悪い

パーツフィールドが追加されておらず、ウィジェットが作成されていないようです。

別の簡単なテストを行いましたが、バグのように見えますか?

再現手順:

  1. ページにフィールドを追加する
  2. ウィジェットを追加する
  3. すべてをエクスポートする
  4. ウィジェットを削除する
  5. エクスポートされたxmlをインポートします期待される:ウィジェットが戻る実際:ウィジェットはまだ欠落しています

レシピはページフィールドとウィジェットを尊重することを想定していますか、私は何か間違ったことをしましたか、それともこれはバグですか?

アップデート

さて、これはバグである必要があります。フィールドを手動で追加すると、フィールドが表示されていなくても、「同じ名前のフィールドがすでに存在します」というメッセージが表示されます。

4

1 に答える 1

1

コマンドは必要ありません。これは、コマンドがないレシピでサポートされています。例を取得する最も簡単な方法は、管理UIからフィールドを追加してから、メタデータをエクスポートし、作成されたレシピを調べることです。

于 2012-05-27T19:53:18.060 に答える