Самый простой способ достичь того, о чем вы просите, - это воспользоваться подходом из того, что уже упоминалось здесь, и создать некие «глобальные настройки» или «общие элементы» где-то в вашей структуре контента. Здесь вы можете хранить свои продукты или любые другие вещи, которые хотите использовать повторно.
Чтобы сослаться на это в RTE, вы бы пришли к какому-то соглашению о вставке такого маркера в ваш контент RTE: {price:productId}
, {productName:price}
или что-то подобное.
То, что вы должны сделать, это убедиться, что при выводе вашего свойства RTE - вы передадите его через метод рендеринга, который просто найдет продукт по идентификатору или названию продукта, а затем извлечет цену и просто заменит маркер на эта цена, прежде чем возвращать вывод HTML для рендеринга. Это немного грязный хак, который не очень удобен для ваших редакторов. Однако его можно использовать для других целей, а не только для этого.
Если вы хотите сделать это немного более плавным для своих редакторов, вам следует вместо этого изучить макросы - скажем, вы создали макрос «данные продукта». Он содержит средство выбора (предварительно сконфигурированное для выбора продукта из папки ваших продуктов) и раскрывающийся список, позволяющий выбрать, какую часть данных о продукте вы хотите отобразить. Затем вы просто заставляете этот макрос визуализировать данные продукта на основе выбранного узла и выбора в раскрывающемся списке.
Если возможно, я бы выбрал второй подход, так как это самый простой подход для ваших редакторов. Тем не менее, есть один недостаток: он требует использования RTE (потому что вам нужно иметь возможность вставлять макрос), тогда как подход с заменой маркера может работать в любом редакторе свойств. конфигурации.