File tree Expand file tree Collapse file tree 2 files changed +40
-0
lines changed
Expand file tree Collapse file tree 2 files changed +40
-0
lines changed Original file line number Diff line number Diff line change 1+ <?php
2+
3+ namespace ProcessWire \GraphQL \Field ;
4+
5+ use GraphQL \Type \Definition \Type ;
6+ use ProcessWire \GraphQL \Utils ;
7+ use ProcessWire \Language as PWLanguage ;
8+
9+ class Language {
10+ public static function field ()
11+ {
12+ return [
13+ 'type ' => Type::string (),
14+ 'name ' => 'language ' ,
15+ 'description ' => "Set the language of the content you are requesting. __Note__: Place this field on top of other fields whose language you want to set. " ,
16+ 'args ' => [
17+ 'name ' => Type::nonNull (Type::string ())
18+ ],
19+ 'resolve ' => function ($ pages , array $ args )
20+ {
21+ $ languageName = Utils::sanitizer ()->pageName ($ args ['name ' ]);
22+ $ language = Utils::languages ()->get ($ languageName );
23+ if ($ language instanceof PWLanguage) {
24+ Utils::user ()->language = $ language ;
25+ return $ language ->name ;
26+ } else {
27+ return 'Unknown language! ' ;
28+ }
29+ }
30+ ];
31+ }
32+ }
Original file line number Diff line number Diff line change 33use GraphQL \Type \Definition \ObjectType ;
44use GraphQL \Type \Schema as GraphQLSchema ;
55
6+ use ProcessWire \Languages ;
67use ProcessWire \GraphQL \Utils ;
78use ProcessWire \GraphQL \Cache ;
89use ProcessWire \GraphQL \Permissions ;
1415use ProcessWire \GraphQL \Field \Mutation \CreatePage ;
1516use ProcessWire \GraphQL \Field \Mutation \TrashPage ;
1617use ProcessWire \GraphQL \Field \Mutation \UpdatePage ;
18+ use ProcessWire \GraphQL \Field \Language ;
1719
1820class Schema
1921{
@@ -81,6 +83,12 @@ public static function buildQuery()
8183 $ queryFields [] = DbQuery::field ();
8284 }
8385
86+ // Language
87+ $ languages = Utils::languages ();
88+ if ($ languages && $ languages instanceof Languages) {
89+ $ queryFields [] = Language::field ();
90+ }
91+
8492 // let the user modify the query operation
8593 $ queryFields = Utils::module ()->getQueryFields ($ queryFields );
8694
You can’t perform that action at this time.
0 commit comments