Inhalte aufrufen

Profilbild
- - - - -

Paymentplugin unter VB.Net

datenimport yatego

  • Bitte melden Sie sich an, um eine Antwort zu verfassen.
7 Antworten zu diesem Thema

#1 Sascha Patschka

Sascha Patschka

    Member

  • Members
  • PunktPunkt
  • 20 Beiträge

Geschrieben: 03 July 2015 - 08:01

Hallo liebes Smartstore-Team.

 

Erstmal ein großes Lob für den tollen Shop, einfach genial.

Ich habe letzte Woche den Shop installiert und alles eingerichtet und bin zufrieden, damit ich starten kann benötige ich allerdings ein Plugin für PayUnity. Da meine Sprache eher Visual Basic ist stellt sich für mich die frage ob es möglich ist ein Plugin in einer anderen .NET Sprache zu schreiben?

 

Ich habe das Grundgerüst für ein Paymentplugin erfolgreich erstellt. Wenn ich jedoch ein View übergebe (z.b. test.bvhtml)

bekomme ich die Fehlermeldung das test.cshtml nicht gefunden werden kann.

 

Klar, der Shop ist ja in C# geschrieben. Meine frage nun, kann ich dem Pluginsystem beibringen das es nun eine vbhtml nehmen soll??

 

Danke im Voraus und schöne Grüße aus Österreich

Sascha



#2 Murat Cakir

Murat Cakir

    SmartStore AG

  • Administrators
  • 1118 Beiträge

Geschrieben: 03 July 2015 - 19:15

Oh je... da wir der Meinung waren, dass VB-Enwicklung eine eher unbedeutende Rolle spielt, haben wir aus Performance-Gründen vbhtml Views deaktiviert. Grundsätzlich kann man ein Plugin durchaus in VB.NET entwickeln, nur eben nicht die Views. Um diesen Umstand zu ändern, müsstest du geringfügige Anpassungen in SmartStore.Web.Framework.Themes.ThemeableRazorViewEngine vornehmen: für jedes Dateimuster mit cshtml Endung muss ein Adäquat mit vbhtml Endung registriert werden.
 
Also aus...

ViewLocationFormats = new[]
{
    "~/Themes/{2}/Views/{1}/{0}.cshtml", 
    "~/Views/{1}/{0}.cshtml", 
    "~/Themes/{2}/Views/Shared/{0}.cshtml",
    "~/Views/Shared/{0}.cshtml"
};

wird...

ViewLocationFormats = new[]
{
    "~/Themes/{2}/Views/{1}/{0}.cshtml",
    "~/Themes/{2}/Views/{1}/{0}.vbhtml",  
    "~/Views/{1}/{0}.cshtml", 
    "~/Views/{1}/{0}.vbhtml", 
    "~/Themes/{2}/Views/Shared/{0}.cshtml",
    "~/Themes/{2}/Views/Shared/{0}.vbhtml",
    "~/Views/Shared/{0}.cshtml",
    "~/Views/Shared/{0}.vbhtml"
};

usw... Und zu guter Letzt:

FileExtensions = new[] { "cshtml", "vbhtml" };

Murat Cakir
SmartStore AG


#3 Sascha Patschka

Sascha Patschka

    Member

  • Members
  • PunktPunkt
  • 20 Beiträge

Geschrieben: 04 July 2015 - 08:49

Hallo Murat und vielen dank für die Antwort

 

Da es wenig Sinn macht ein Plugin nur rein für mich alleine zu Entwickeln wollte ich dann evtl. das fertige Plugin der Community zur verfügung stellen.

Wenn jedoch Code aus dem Original Quellcode des Shops geändert werden muss kann das Plugin nicht so ohne weiteres Installiert werden.

 

Ausserdem kann es sein das das Plugin dann nach einem Shopupdate evtl. nicht mehr geht falls die betreffende dll ausgetauscht wird.

 

Ich glaube dann muss ich wohl doch auf C# umschwenken. Auch wenn ich C# nicht sonderlich mag.

Ich bedanke mich für die rasche Hilfe und vorallem die detailierte Beschreibung.

 

Schöne Grüße

Sascha



#4 Sascha Patschka

Sascha Patschka

    Member

  • Members
  • PunktPunkt
  • 20 Beiträge

Geschrieben: 04 July 2015 - 11:00

Hallo Murat

 

Noch eine Frage,

 

habe das Plugin nun in C# erstellt, als Vorlage galt mir das PayPal Plugin.

 

Jedoch bekomme ich es einfach nicht hin einen View zu laden, mir scheint das etwas mit einem Verweis auf die MVC.dll nicht passt. Habe in das Pluginprojekt die 5.2.3.0 eingebunden.

 

Vieleicht kannst du mir hier einen Tip geben.

Komisch ist, wenn ich das PayPal-Plugin öffne dann unterwellt er mir aber auch die selben stellen, dieses Plugin funktioniert allerdings.

 

fehler.png

 

Hier vieleicht noch die Fehlermeldung wenn ich es trotzdem ausführe.

ICh verstehe die Fehlermeldung ja auch, nur übergebe ich ihm im Controlle das Model. bei View(model)

 

fehler2.png

 

 

 

Grüße

Sascha



#5 Marcus Gesing

Marcus Gesing

    SmartStore AG

  • Administrators
  • 3801 Beiträge

Geschrieben: 04 July 2015 - 23:24

Im View Ordner des Plugins liegt eine Web.config. Den Inhalt würde ich mit der eines anderen, funktionierenden Plugins vergleichen.
In den Eigenschaften der Datei sollte "Build action" auf "Content" und "Copy to output directory" auf "Copy if newer" stehen.

Marcus Gesing

Smartstore AG


#6 Sascha Patschka

Sascha Patschka

    Member

  • Members
  • PunktPunkt
  • 20 Beiträge

Geschrieben: 05 July 2015 - 09:01

Oh man, das wars wirklich, anscheinend hatte ich die Web.config nicht ersetzt, sondern die von VisualStudio welche beim erstellen des Projekts generiert wird belassen.

Intellisense habe ich zwar immer noch nicht aber das ist anscheinend so, da in den Original Plugins auch alles unterwellt wird.

 

Ich danke für die schnelle und prezise Hilfe, echt tolles forum hier.

 

Grüße

Sascha



#7 Murat Cakir

Murat Cakir

    SmartStore AG

  • Administrators
  • 1118 Beiträge

Geschrieben: 06 July 2015 - 16:43

Um das Intellisense-Problem in Views zu lösen: How to enable Intellisense in plugin views


Murat Cakir
SmartStore AG


#8 Sascha Patschka

Sascha Patschka

    Member

  • Members
  • PunktPunkt
  • 20 Beiträge

Geschrieben: 06 July 2015 - 17:04

Danke für die Info. Gut zu wissen.

Schönen Tag und Grüße aus Österreich
Sascha


Auch markiert mit einem oder mehrerer dieser Schlüsselwörter: datenimport, yatego