#orchardcms #orchard-modules #orchardcms-1.10
#orchardcms #orchard-модули #orchardcms-1.10
Вопрос:
Я работаю над модулем Orchard CMS, который будет содержать несколько функций, я обнаружил, что orchard имеет атрибут [OrchardFeature(«Feature.Name «)], которые должны быть применены к нескольким функциям.
В моем случае мне нужно, чтобы контроллер и маршрут были частью одной и той же функции, поэтому я применил атрибут к обоим, но в этом случае мой контроллер возвращает 404.
Если я попытаюсь удалить атрибут, он будет работать нормально, и действие моего контроллера может быть найдено.
[OrchardFeature("Yaplex.SEO.Robots")]
public class RobotsTxtController : Controller
{
// GET: RobotsTxt
public ActionResult Index()
{
return Content("I am robots txt");
}
}
[OrchardFeature("Yaplex.SEO.Robots")]
public class Routes : IRouteProvider {
public IEnumerable<RouteDescriptor> GetRoutes() {
return new[] {
new RouteDescriptor {
Priority = 10,
Route = new Route(
"robots.txt",
new RouteValueDictionary {
{"area", "Yaplex.SEO"},
{"controller", "RobotsTxt"},
{"action", "Index"}
},
new RouteValueDictionary(),
new RouteValueDictionary {
{"area", "Yaplex.SEO"}
},
new MvcRouteHandler())
}
};
}
public void GetRoutes(ICollection<RouteDescriptor> routes) {
foreach (var routeDescriptor in GetRoutes())
routes.Add(routeDescriptor);
}
}
Я что-то делаю не так?
Комментарии:
1. Вы убедились, что действительно включили эту функцию в разделе Модули на панели мониторинга?
2. Спасибо, Сипке, ты был прав. Я не включил его. После включения работает для меня. Если вы ответите на этот вопрос, я отмечу его как ответ (не могу сделать это с комментарием)