Where communities thrive


  • Join over 1.5M+ people
  • Join over 100K+ communities
  • Free without limits
  • Create your own community
People
Repo info
Activity
    Dmitry Sikorsky
    @DmitrySikorsky
    @aliaksandrhuryn добрый день! странно. это вы свое расширение сделали, или при использовании стандартных возникает исключение?
    Алексей
    @py6jlb
    @DmitrySikorsky доброго времени суток. Ни как не могу разобраться со связями классов в админке. Создал класс, добавил член класса который должен связывать его с коллекцией(как я понял) другого класса(указывается в настройках связи), но когда пытаюсь получить доступ к этому полю во вьюхе получаю ошибку. Подскажите как работать со связями или скиньте ссылку на документацию(сам не смог найти).
    Dmitry Sikorsky
    @DmitrySikorsky
    связи, которые описываются в админке, они просто описывают связи в контексте данных. это не означает, что графы будут целиком загружаться и будут доступны из представлений. загрузкой данных управляют источники данных (дата сорсы). т.е. если вам нужен объект с его связями - вам нужно добавить датасорс, который загрузит объект с его связями. стандартные встроенные источники данных позволяют указать путь внути объекта, который нужно загрузить рекурсивно. например, можно загрузить пост блога, его комментарии и все теги комментариев.
    поле Nested XPath
    в свойствах дата сорса
    либо если нужно выгрузить объекты связанные с текущим, то можно исплользовать RelatedObjectsDataSource, и просто указать какого класса связанные объекты нужно вытащить
    там же поддерживается и пагинация
    да, это нужно подробнее описать в документации - времени не хватает
    Алексей
    @py6jlb
    @DmitrySikorsky спасибо. А можно пример использования поля Nested XPath
    Dmitry Sikorsky
    @DmitrySikorsky
    Навскидку не вспомню. Но суть простая. Если вы выгребаете, например, объекты класса BlogPost
    и назвали код источника данных BlogPosts
    то объекты у вас будут доступны по свойству BlogPosts внутри представления
    если же например у каждого поста есть теги, то вы просто пишете туда /Tags
    кстати, вспомнил, вот же оно есть:
    вот тут теги отображаются как раз таким образом
    Алексей
    @py6jlb
    Супер. Спасибо еще раз. Буду смотреть.
    Dmitry Sikorsky
    @DmitrySikorsky
    я как раз это добавил в пример, чтобы было ясно
    ну а если у тегов было бы еще какое-то свойство-отгошение, его можно было бы тоже выбрать написав не /Tags, а /Tags/SomeTagProperty
    и так далее, рекурсивно
    Алексей
    @py6jlb
    теперь понятно. я просто смотрел в примере который не Blog а Website и там такого не увидел.
    Алексей
    @py6jlb
    @DmitrySikorsky, день добрый. Подскажите как разместить приложение на Платформусе за реверс прокси Nginx с использованием поддиректорий, например приложение висит на порту 5000 а на nginx прописан проброс с адреса {domain name}/app на localhost:5000, у меня проблема со ссылками, я не найду где в платформусе задать контекст для ссылок. Почти все ссылке не работают, картинки и остальная статика не грузится.
    Dmitry Sikorsky
    @DmitrySikorsky
    Алексей, к сожалению, не могу подсказать, т.к. не пробовал. Я в основном работаю со стеком Microsoft. Ребята размещали приложения на Платформусе на Linux, но я не вникал, как именно. Но я думаю, что здесь нет какой-либо специфики именно связанной с Платформусом. Думаю, все так же, как и в обычных приложениях на ASP.NET Core.
    Michael D. Corbett
    @vector-man
    Hey there. Just discovered your project. Looks awesome!
    Michael D. Corbett
    @vector-man
    If anyone has an answer to my question here, it would be really appreciated: Platformus/Platformus#208
    (oh, by the way, great features! Looks perfect for my next site.)
    Dmitry Sikorsky
    @DmitrySikorsky
    Thank you for your question. Basically, now I have a lot of things I would like to change in the new versions. I like the concept, but many things are done not in the best way. I hope I will have time to implement all the ideas I have.
    LucaGabi
    @LucaGabi
    Hi, at first look this looks very very ugly .. is there a way to change the theme ??
    Dmitry Sikorsky
    @DmitrySikorsky
    Hi @LucaGabi ! Are you talking about backend or frontend? But yes, you can change both of them.
    Sultan Kadyrkesh
    @sultanlive
    @DmitrySikorsky Здравствуйте. Отличную CMS делаете. Но вот не знаю как правильно сделать некоторые моменты. К примеру в Layout есть данные, которые можно было бы редактировать с Админки (телефон, email, и т.д.). Как сейчас у меня реализовано: создал класс Param (key, value) в Админке и отдельный сервис с методом GetValue(dynamic model, string key) . И в Layout inject-ом подключаю сервис, и в нужных местах вызываю Localizer.Get(this.Model, "contactEmail"). Правильно ли я делаю?
    Sultan Kadyrkesh
    @sultanlive
    "Layout"
    И вот сам сервис
    "Service"
    Dmitry Sikorsky
    @DmitrySikorsky
    Здравствуйте, @sultanlive ! Спасибо за ваш интерес. Если я правильно понял вопрос, то можно просто сделать реальный класс C# и мапить на него объекты "из админки": http://docs.platformus.net/en/latest/advanced/object_mapping.html
    Т.е. в вашем сервисе просто вынуть нужный объект (например, класса Layout) и его свойства уже в нужной локали просто отобразить.
    Я сейчас занимаюсь версией 2.0.0. Она будет логически похожа на текущую, т.е. концепция конечных точек, источников данных и так далее сохранится, однако она будет гораздо проще, быстрее и компактнее. Очень много мы использовали текущую версию для различных проектов, набрался опыт, который хотелось бы применить.
    Sultan Kadyrkesh
    @sultanlive
    @DmitrySikorsky здравствуйте, да, я поначалу так и хотел сделать, но классу StronglyTypedObjectMapper нужен IRequestHandler. через DI не получается, ну или я что-то не знаю. "image"
    Dmitry Sikorsky
    @DmitrySikorsky
    Да, там немного архитектура некорректная :(
    Dmitry Sikorsky
    @DmitrySikorsky
    Moved Platformus to ExtCore 5.1 and .NET Core 3.1: https://github.com/Platformus/Platformus/releases/tag/1.1.0-beta1
    trzxas
    @trzxas

    @DmitrySikorsky приветствую. Пытаюсь использовать Platformus через установку NuGet пакетов согласно вашей инструкции (http://docs.platformus.net/en/latest/getting_started/use_as_nuget_packages.html). Компиляция (VS2019) проходит успешно, но при запуске получаю 2 исключения
    Внутреннее исключение 1:
    InvalidOperationException: Error while validating the service descriptor 'ServiceType: ExtCore.Data.Abstractions.IStorage Lifetime: Scoped ImplementationType: ExtCore.Data.EntityFramework.Storage': Unable to resolve service for type 'ExtCore.Data.Abstractions.IStorageContext' while attempting to activate 'ExtCore.Data.EntityFramework.Storage'.

    Внутреннее исключение 2:
    InvalidOperationException: Unable to resolve service for type 'ExtCore.Data.Abstractions.IStorageContext' while attempting to activate 'ExtCore.Data.EntityFramework.Storage'.
    Что не так может быть?

    rexTexTau
    @rexTexTau
    Добрый день всем. Чат живой?
    Имею намерение использовать Platformus CMS на продакшн, но с учётом частоты сообщений здесь несколько побаиваюсь)
    Тоже имею некоторые траблы при запуске бинарников на вебсервере согласно инструкции:
    fail: Microsoft.AspNetCore.Server.Kestrel[13]
    Connection id "0HM14RN0KJTFG", Request id "0HM14RN0KJTFG:00000001": An unhandled exception was thrown by the application.
    System.Reflection.ReflectionTypeLoadException: Unable to load one or more of the requested types.
    Error 0x263D. Debugging resource strings are unavailable. See http://go.microsoft.com/fwlink/?linkid=106663&Version=4.0.30319.0&File=mscorrc.dll&Key=0x263D
    at System.Reflection.RuntimeModule.GetTypes(RuntimeModule module)
    at System.Reflection.RuntimeAssembly.get_DefinedTypes()
    at Microsoft.AspNetCore.Mvc.ApplicationParts.AssemblyPart.get_Types()
    at Microsoft.AspNetCore.Mvc.Controllers.ControllerFeatureProvider.PopulateFeature(IEnumerable1 parts, ControllerFeature feature) at Microsoft.AspNetCore.Mvc.ApplicationParts.ApplicationPartManager.PopulateFeature[TFeature](TFeature feature) at Microsoft.AspNetCore.Mvc.Internal.ControllerActionDescriptorProvider.GetControllerTypes() at Microsoft.AspNetCore.Mvc.Internal.ControllerActionDescriptorProvider.BuildModel() at Microsoft.AspNetCore.Mvc.Internal.ControllerActionDescriptorProvider.GetDescriptors() at Microsoft.AspNetCore.Mvc.Internal.ControllerActionDescriptorProvider.OnProvidersExecuting(ActionDescriptorProviderContext context) at Microsoft.AspNetCore.Mvc.Internal.ActionDescriptorCollectionProvider.UpdateCollection() at Microsoft.AspNetCore.Mvc.Internal.ActionDescriptorCollectionProvider.get_ActionDescriptors() at Microsoft.AspNetCore.Mvc.Internal.AttributeRoute.GetTreeRouter() at Microsoft.AspNetCore.Mvc.Internal.AttributeRoute.RouteAsync(RouteContext context) at Microsoft.AspNetCore.Routing.RouteCollection.RouteAsync(RouteContext context) at Microsoft.AspNetCore.Builder.RouterMiddleware.Invoke(HttpContext httpContext) at Platformus.Barebone.HttpExceptionMiddleware.Invoke(HttpContext context) in C:\Users\Dmitry Sikorsky\Documents\Projects\Web\Platformus\src\Platformus.Barebone\HttpException\HttpExceptionMiddleware.cs:line 23 at Microsoft.AspNetCore.Server.IISIntegration.IISMiddleware.Invoke(HttpContext httpContext) at Microsoft.AspNetCore.Hosting.Internal.RequestServicesContainerMiddleware.Invoke(HttpContext httpContext) at Microsoft.AspNetCore.Server.Kestrel.Core.Internal.Http.Frame1.ProcessRequestsAsync()
    System.TypeLoadException: Error 0x263D. Debugging resource strings are unavailable. See http://go.microsoft.com/fwlink/?linkid=106663&Version=4.0.30319.0&File=mscorrc.dll&Key=0x263D
    info: Microsoft.AspNetCore.Hosting.Internal.WebHost[2]
    Request finished in 477.1468ms 500
    Может кто-то подсказать, ЧЯДНТ?
    rexTexTau
    @rexTexTau
    Связался напрямую с Дмитрием - бинари на сайте старой версии и, видимо, не работают. Используйте платформус из исходных кодов. Всем добра!
    Dmitry Sikorsky
    @DmitrySikorsky
    Hi guys, I'm currenlty on version 2.0.0. It is alsmost done, I think alpha1 will be available in few days. It will be much easier to learn, consist only from 3 extensions (core, website and ecommerce), async, there will not be so many DB requests (joins will be used instead), so perfomance will be much better too.
    And also it will support .NET 5.0.