Skip to content

Commit 8e99396

Browse files
committed
Include global fields to PageInterface.
1 parent 6d6a7c1 commit 8e99396

File tree

1 file changed

+12
-0
lines changed

1 file changed

+12
-0
lines changed

src/Type/InterfaceType/PageType.php

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,9 @@
33
namespace ProcessWire\GraphQL\Type\InterfaceType;
44

55
use Youshido\GraphQL\Type\InterfaceType\AbstractInterfaceType;
6+
use ProcessWire\Field;
67
use ProcessWire\GraphQL\Type\Object\TemplatedPageType;
8+
use ProcessWire\GraphQL\Settings;
79

810
class PageType extends AbstractInterfaceType {
911

@@ -45,6 +47,16 @@ public function build($config)
4547
$className = "ProcessWire\\GraphQL\\Field\\Page\\$pageTypeFieldClassName";
4648
$config->addField(new $className());
4749
}
50+
51+
// add global fields too
52+
$legalFields = Settings::getLegalFields();
53+
foreach ($legalFields as $field) {
54+
if ($field->flags & Field::flagGlobal) {
55+
$className = "\\ProcessWire\\GraphQL\\Field\\Page\\Fieldtype\\" . $field->type->className();
56+
if (!class_exists($className)) continue;
57+
$config->addField(new $className($field));
58+
}
59+
}
4860
}
4961

5062
public function resolveType($page)

0 commit comments

Comments
 (0)