metamodels / attribute_tags Goto Github PK
View Code? Open in Web Editor NEWThe tags attribute
License: GNU Lesser General Public License v3.0
The tags attribute
License: GNU Lesser General Public License v3.0
Could you integrate an option for this attribute for having a multiple select menu instead of a checkbox widget?
Background: I use a table with hundreds of entries as source table for a tags attribute. The resulting backend field is very very long.
A select menu with the possibility to select multiple values (enhanced by Chosen) would save space and be more usable.
Thanks
Sebastian
Habe bei der Eingabemaske ein Feld mit Mehrfach-Auswahlmöglichkeiten definiert. Die Optionen werden in der DB auch per MM eingegeben. Nun möchte ich die Miniaturansicht vom Bild ausgeben und bei der Ausgabe bekomme ich folgende Fehlermeldung:
Warning: Illegal string offset 'value' in templates/metamodel_prerendered_p_d.html5 on line 68
#0 templates/metamodel_prerendered_p_d.html5(68): __error(2, 'Illegal string ...', '/web/web9296/we...', 68, Array)
#1 composer/vendor/metamodels/core/src/MetaModels/Render/Template.php(300): include('/web/web9296/we...')
#2 composer/vendor/metamodels/core/src/MetaModels/ItemList.php(815): MetaModels\Render\Template->parse('html5')
#3 composer/vendor/metamodels/core/src/MetaModels/FrontendIntegration/HybridList.php(115): MetaModels\ItemList->render('', Object(MetaModels\FrontendIntegration\Content\ModelList))
#4 system/modules/core/classes/Hybrid.php(231): MetaModels\FrontendIntegration\HybridList->compile()
#5 composer/vendor/metamodels/core/src/MetaModels/FrontendIntegration/MetaModelHybrid.php(102): Contao\Hybrid->generate()
#6 composer/vendor/metamodels/core/src/MetaModels/FrontendIntegration/HybridList.php(54): MetaModels\FrontendIntegration\MetaModelHybrid->generate()
#7 system/modules/core/library/Contao/Controller.php(476): MetaModels\FrontendIntegration\HybridList->generate()
#8 system/modules/core/modules/ModuleArticle.php(213): Contao\Controller::getContentElement(Object(Contao\ContentModel), 'main')
#9 system/modules/core/modules/Module.php(282): Contao\ModuleArticle->compile()
#10 system/modules/core/modules/ModuleArticle.php(67): Contao\Module->generate()
#11 system/modules/core/library/Contao/Controller.php(409): Contao\ModuleArticle->generate(false)
#12 system/modules/core/library/Contao/Controller.php(269): Contao\Controller::getArticle(Object(Contao\ArticleModel), false, false, 'main')
#13 system/modules/core/pages/PageRegular.php(133): Contao\Controller::getFrontendModule('0', 'main')
#14 system/modules/core/controllers/FrontendIndex.php(267): Contao\PageRegular->generate(Object(Contao\PageModel), true)
#15 index.php(20): Contao\FrontendIndex->run()
#16 {main}
Hat jmd eine Idee wie ich diesen Fehler beheben kann?
Ich habe mir gerade einen frischen TNG über composer installiert, dort erhalte ich jetzt im Backend folgende Meldung:
Fatal error: Class 'MetaModels\DcGeneral\Events\MetaModels\Select\BackendSubscriber' not found in /Applications/MAMP/htdocs/metamodels/contao/composer/vendor/contao-community-alliance/event-dispatcher/src/ContaoCommunityAlliance/Contao/EventDispatcher/EventDispatcherInitializer.php on line 183
Das Problem liegt hier:
attribute_tags/contao/config/config.php
Line 18 in 33ef95e
siehe #47
man belässt die Spalte tl_metamodel_tag_relation.value_sorting der manuellen Sortierung (wenn die "grünen Hamburger" kommen) und in "Sortierung der Mehrfachauswahl" auf "sorting" steht und sortiert die Tags "dynamisch" anhand der eingestellten Sortierung...
if value exist error at input mask or without selected value at popup
MM 2.2
ContaoCommunityAlliance\DcGeneral\Exception\DcGeneralRuntimeException:
Unparsable encoded id value: ''
at /xxxmm220/vendor/contao-community-alliance/dc-general/src/Data/ModelId.php:117
at ContaoCommunityAlliance\DcGeneral\Data\ModelId::fromSerialized('')
(/xxxmm220/vendor/contao-community-alliance/dc-general/src/BaseConfigRegistry.php:156)
at ContaoCommunityAlliance\DcGeneral\BaseConfigRegistry->buildBaseConfig(null)
(/xxxmm220/vendor/contao-community-alliance/dc-general/src/BaseConfigRegistry.php:178)
at ContaoCommunityAlliance\DcGeneral\BaseConfigRegistry->getBaseConfig()
(/xxxmm220/vendor/contao-community-alliance/dc-general/src/Contao/View/Contao2BackendView/TreePicker.php:1022)
at ContaoCommunityAlliance\DcGeneral\Contao\View\Contao2BackendView\TreePicker->getTreeCollectionRecursive(0, 0, null)
(/xxxmm220/vendor/contao-community-alliance/dc-general/src/Contao/View/Contao2BackendView/TreePicker.php:1132)
at ContaoCommunityAlliance\DcGeneral\Contao\View\Contao2BackendView\TreePicker->loadCollection(0)
(/xxxmm220/vendor/contao-community-alliance/dc-general/src/Contao/View/Contao2BackendView/TreePicker.php:819)
at ContaoCommunityAlliance\DcGeneral\Contao\View\Contao2BackendView\TreePicker->generatePopup()
(/xxxmm220/vendor/contao-community-alliance/dc-general/src/Controller/BackendTreeController.php:144)
at ContaoCommunityAlliance\DcGeneral\Controller\BackendTreeController->runBackendTree(object(Request))
(/xxxmm220/vendor/contao-community-alliance/dc-general/src/Controller/BackendTreeController.php:73)
at ContaoCommunityAlliance\DcGeneral\Controller\BackendTreeController->generalTreeAction()
(/xxxmm220/vendor/symfony/http-kernel/HttpKernel.php:158)
at Symfony\Component\HttpKernel\HttpKernel->handleRaw(object(Request), 1)
(/xxxmm220/vendor/symfony/http-kernel/HttpKernel.php:80)
at Symfony\Component\HttpKernel\HttpKernel->handle(object(Request), 1, true)
(/xxxmm220/vendor/symfony/http-kernel/Kernel.php:201)
at Symfony\Component\HttpKernel\Kernel->handle(object(Request))
(/xxxmm220/web/index.php:31)
Ich würde gerne als Tags einen anderen MM nutzen. Ich kann auch die Datenbanktabelle mm_irgendwas auswählen. Spaltenname/Tag ID / Tag-Alias / Tag-Sortierung kann aber nicht ausgewählt werden.
Mit dem Attribute type 'Auswahl' funktioniert das ohne Probleme.
Getestet mit dem nightly von heute.
Viele Grüße
MM 2.0
Empty value handling - if no checkbox checked:
Property my_mm_tags (tags) did not accept the value (The values differ. Encountered type array expected NULL (Found array ( ), expected NULL)).
Hallo,
bei den Templates ist kein xhtml-Template vorhanden.
Vielleicht könnte das noch zugefügt werden. Es reicht wohl aus, ein html5-Template zu kopieren und in .xhtml umzubenennen.
VG und danke
André
Beim Zuweisen von Werten zum attr_tags innerhalb eines MM-Eintrages bekam ich eben den Fehler:
PHP Recoverable error: Argument 1 passed to Contao\Ajax::executePostActionsHook() must be an instance of DataContainer, instance of ContaoCommunityAlliance\DcGeneral\Contao\Compatibility\DcCompat given, called in system/modules/core/classes/Ajax.php on line 211 and defined in system/modules/core/classes/Ajax.php on line 422
Die Zuweisungen werden auch in der Tabelle tl_metamodel_tag_relation nicht gespeichert.
If you use MySQLi and you try to filter by genre you will get an error message because of mysql_real_escape_string():
Warning: mysql_real_escape_string(): Access denied for user ''@'localhost' (using password: NO) in …/system/modules/metamodelsattribute_tags/MetaModelFilterRuleTags.php on line 47
I confirm that:
(Please fill in the actual values from your environment)
Key | Value | Comments |
---|---|---|
PHP version: | 5.6 | |
Contao version: | 3.5.27 | |
MetaModels version core: | a15 | |
MetaModels version attribute: | 2.0.0 | |
Installation via composer: | (yes/no) | |
Installed MetaModels packages: | ||
DCG version: | b39 |
where condition doesn´t work with popup widget
I want to write a custom filter so i used the SearchAttribute
class. The interface says:
IAttribute $objAttribute The attribute to be searched.
string $strValue The value to be searched for. Wildcards (* and ? allowed).
array $arrValidLanguages The list of valid languages to be searched in.
so i used it for Tags $filter->addFilterRule(new SearchAttribute($attribute, '*'));
after this i got this error:
PHP Fatal error: Uncaught exception 'Exception' with message 'Query error: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '*)
AND att_id = '106'' at line 3 (SELECT item_id as id
FROM tl_metamodel_tag_relation
WHERE value_id IN (*)
AND att_id = '106')' thrown in .../system/modules/core/library/Contao/Database/Statement.php on line 295
So we have to remove the wildcard text from the php doc or add the function to find * or ?.
What do you think @discordier
Es fehlt noch ein Sortierfeld damit man die Einträge im BE nach eigenem Schema sortieren kann!
add a selection of a render setting for display in the input mask
hallo,
mit dem aktuellen nightbuild von gestern bekomme ich folgende fehlermeldung,
wenn ich das attribut "mehrfachauswahl [tags]" verwende und dann einen eintrag
im metamodel vornehmen möchte:
Property faecher (tags) did not accept the value (The values differ. Array value mismatch for key 0. Encountered type integer expected string (Found 1, expected '1')).
Property faecher (tags) did not accept the value (The values differ. Array value mismatch for key 0. Encountered type integer expected
hat jemand eine idee?
lg.
alex
https://community.contao.org/de/showthread.php?56322-tags-fehlermeldung&p=363687#post363687
- if (null !== $count) {
+ if (null !== $count && $aliasValue != $item->get('id')) {
Nach letztem Update gibts nur noch:
Fatal error: Uncaught exception Exception with message Query error: Unknown column 'xyz' in 'field list' (SELECT xyz FROM mm_xxx GROUP BY xyz) thrown in system/modules/core/library/Contao/Database/Statement.php on line 283
#0 system/modules/core/library/Contao/Database/Statement.php(254): Contao\Database\Statement->query()
#1 composer/vendor/metamodels/attribute_tags/src/MetaModels/Attribute/Tags/MetaModelTags.php(253): Contao\Database\Statement->execute()
#2 composer/vendor/metamodels/attribute_tags/src/MetaModels/Attribute/Tags/MetaModelTags.php(159): MetaModels\Attribute\Tags\MetaModelTags->buildFilterRulesForUsedOnly(Object(MetaModels\Filter\Filter))
#3 composer/vendor/metamodels/core/src/MetaModels/Filter/Setting/SimpleLookup.php(82): MetaModels\Attribute\Tags\MetaModelTags->getFilterOptions(NULL, true, NULL)
#4 composer/vendor/metamodels/filter_tags/src/MetaModels/Filter/Setting/Tags.php(82): MetaModels\Filter\Setting\SimpleLookup->getParameterFilterOptions(Object(MetaModels\Attribute\Tags\MetaModelTags), NULL)
#5 composer/vendor/metamodels/core/src/MetaModels/Filter/Setting/Collection.php(216): MetaModels\Filter\Setting\Tags->prepareRules(Object(MetaModels\Filter\Filter), Array)
#6 composer/vendor/metamodels/core/src/MetaModels/Filter/Setting/Collection.php(281): MetaModels\Filter\Setting\Collection->addRules(Object(MetaModels\Filter\Filter), Array)
#7 composer/vendor/metamodels/core/src/MetaModels/FrontendIntegration/FrontendFilter.php(304): MetaModels\Filter\Setting\Collection->getParameterFilterWidgets(Array, Array, Object(MetaModels\FrontendIntegration\FrontendFilterOptions))
#8 composer/vendor/metamodels/core/src/MetaModels/FrontendIntegration/FrontendFilter.php(91): MetaModels\FrontendIntegration\FrontendFilter->getFilters()
#9 composer/vendor/metamodels/core/src/MetaModels/FrontendIntegration/HybridFilterBlock.php(59): MetaModels\FrontendIntegration\FrontendFilter->getMetaModelFrontendFilter(Object(MetaModels\FrontendIntegration\Content\Filter))
#10 system/modules/core/classes/Hybrid.php(228): MetaModels\FrontendIntegration\HybridFilterBlock->compile()
#11 composer/vendor/metamodels/core/src/MetaModels/FrontendIntegration/MetaModelHybrid.php(88): Contao\Hybrid->generate()
#12 composer/vendor/metamodels/core/src/MetaModels/FrontendIntegration/HybridFilterBlock.php(48): MetaModels\FrontendIntegration\MetaModelHybrid->generate()
#13 system/modules/core/library/Contao/Controller.php(468): MetaModels\FrontendIntegration\HybridFilterBlock->generate()
#14 system/modules/core/modules/ModuleArticle.php(196): Contao\Controller::getContentElement(Object(Contao\ContentModel), 'main')
#15 system/modules/core/modules/Module.php(163): Contao\ModuleArticle->compile()
#16 system/modules/core/modules/ModuleArticle.php(59): Contao\Module->generate()
#17 system/modules/core/library/Contao/Controller.php(404): Contao\ModuleArticle->generate(false)
#18 system/modules/core/library/Contao/Controller.php(268): Contao\Controller::getArticle(Object(Contao\ArticleModel), true, false, 'main')
#19 system/modules/core/pages/PageRegular.php(138): Contao\Controller::getFrontendModule('0', 'main')
#20 index.php(260): Contao\PageRegular->generate(Object(Contao\PageModel), true)
#21 index.php(444): Index->run()
#22 {main}
I have a MM Event with an tags attribute Tickets, that references a MM Ticket. Both are translateble (EN & DE).
The MM Tickets has a translated text name
and a translated alias generated from that name.
The ticket tags attribute settings are the following:
Table: mm_ticket
Name: mm_ticket.name
Alias: mm_ticket.alias
Sorting: Name
Sort Dir: Ascending
Filter: none
Since the tags attribute itself is not translated, I expect the values to be the same in DE and EN.
PHP 7.2.6
Contao 4.4.20
MetaModels 2.1
Version:
Contao: 3.2.12
MM-Tags: dev-tng (f20cc70)
Wenn man den Popup Picker für die Backend Eingabe benutzt wird der Inhalt falsch gerendert:
Weiters ist mir auch noch aufgefallen das wenn ich den Eintrag auswähle wird dieser zwar übernommen ist beim erneuten aufrufen des Pickers aber nicht mehr ausgewählt.
Mehrfaches hinzufügen ist Möglich danach sieht das Attribut im BE so aus:
The filter rules folder is under an extra MetaModels folder which should not exist.
Fehlermeldung wenn bei Tags die "Nur zugeordnete Tags" angwählt werden!
Fatal error: Uncaught exception Exception with message Too few arguments to build the query string thrown in system/modules/core/library/Contao/Database/Statement.php on line 316
#0 system/modules/core/library/Contao/Database/Statement.php(253): Contao\Database\Statement->replaceWildcards(Array)
#1 composer/vendor/metamodels/attribute_tags/src/MetaModels/Attribute/Tags/MetaModelTags.php(288): Contao\Database\Statement->execute()
#2 composer/vendor/metamodels/attribute_tags/src/MetaModels/Attribute/Tags/MetaModelTags.php(203): MetaModels\Attribute\Tags\MetaModelTags->buildFilterRulesForUsedOnly(Object(MetaModels\Filter\Filter))
#3 composer/vendor/metamodels/core/src/MetaModels/Filter/Setting/SimpleLookup.php(82): MetaModels\Attribute\Tags\MetaModelTags->getFilterOptions(NULL, true, NULL)
#4 composer/vendor/metamodels/filter_tags/src/MetaModels/Filter/Setting/Tags.php(82): MetaModels\Filter\Setting\SimpleLookup->getParameterFilterOptions(Object(MetaModels\Attribute\Tags\MetaModelTags), NULL)
#5 composer/vendor/metamodels/core/src/MetaModels/Filter/Setting/Collection.php(127): MetaModels\Filter\Setting\Tags->prepareRules(Object(MetaModels\Filter\Filter), Array)
#6 composer/vendor/metamodels/core/src/MetaModels/Filter/Setting/Collection.php(192): MetaModels\Filter\Setting\Collection->addRules(Object(MetaModels\Filter\Filter), Array)
#7 composer/vendor/metamodels/core/src/MetaModels/FrontendIntegration/FrontendFilter.php(304): MetaModels\Filter\Setting\Collection->getParameterFilterWidgets(Array, Array, Object(MetaModels\FrontendIntegration\FrontendFilterOptions))
#8 composer/vendor/metamodels/core/src/MetaModels/FrontendIntegration/FrontendFilter.php(91): MetaModels\FrontendIntegration\FrontendFilter->getFilters()
#9 composer/vendor/metamodels/core/src/MetaModels/FrontendIntegration/HybridFilterBlock.php(59): MetaModels\FrontendIntegration\FrontendFilter->getMetaModelFrontendFilter(Object(MetaModels\FrontendIntegration\Content\Filter))
#10 system/modules/core/classes/Hybrid.php(228): MetaModels\FrontendIntegration\HybridFilterBlock->compile()
#11 composer/vendor/metamodels/core/src/MetaModels/FrontendIntegration/MetaModelHybrid.php(88): Contao\Hybrid->generate()
#12 composer/vendor/metamodels/core/src/MetaModels/FrontendIntegration/HybridFilterBlock.php(48): MetaModels\FrontendIntegration\MetaModelHybrid->generate()
#13 system/modules/core/library/Contao/Controller.php(468): MetaModels\FrontendIntegration\HybridFilterBlock->generate()
#14 system/modules/core/modules/ModuleArticle.php(196): Contao\Controller::getContentElement(Object(Contao\ContentModel), 'main')
#15 system/modules/core/modules/Module.php(163): Contao\ModuleArticle->compile()
#16 system/modules/core/modules/ModuleArticle.php(59): Contao\Module->generate()
#17 system/modules/core/library/Contao/Controller.php(404): Contao\ModuleArticle->generate(false)
#18 system/modules/core/library/Contao/Controller.php(268): Contao\Controller::getArticle(Object(Contao\ArticleModel), true, false, 'main')
#19 system/modules/core/pages/PageRegular.php(138): Contao\Controller::getFrontendModule('0', 'main')
#20 index.php(260): Contao\PageRegular->generate(Object(Contao\PageModel), true)
#21 index.php(444): Index->run()
#22 {main}
Bezugnehmend auf folgenden Thread:
https://community.contao.org/de/showthread.php?55394-MM-auf-sich-selbst-referenzieren
Hier mein Vorgehen (in Bildern, wie gewünscht):
Speziell das Attribut Mehrfachauswahl:
Einstellungen der Eingabemaske:
Beim ersten lässt sich das ganze noch speichern:
Beim zweiten ist das Schluss -> Browser lädt sich zu Tode... und das Ende ist eine Fehlermeldung, die besagt, dass das memory limit erreicht wurde.
Seit einem der letzten Updates hat der Filter "Tags" wie auch schon "Select" keine Funktion mehr, wenn man bei den Frontendfilter die Einstellung "Ergebnisse zählen" aktviert... es werden keine Werte mehr angezeigt!!!
bug at count items: count all items at this time also from the "unpublished" if option only used checked
Change sorting to work with current DCG an popup widget and non MM table e.g. tl_page
Error:
Property my_tl_tags (tags) did not accept the value (The values differ. Array value mismatch for key 1. Found '75' expected '74').
.check-author.yml
or check this.github/
templates - see example but ensure to update the links in the files!.gittattributes
file (see MetaModels/core#846)minimum-stability
from composer.json
and add "metamodels/core": "~2.0@alpha"
and "contao-community-alliance/dc-general": "~2.0@beta"
LICENSE
file is present! (see https://github.com/MetaModels/core/blob/master/LICENSE)README.md
! (look at first rows https://raw.githubusercontent.com/MetaModels/core/master/README.md)The default property from dcg has an empty value handling. There are two methods evaluate for the empty value handling. The methods are hasEmptyValue
and getEmptyValue
. The attribute must set the values for the empty value handling.
Here can you where the empty value evaluate it.
In den DCA-Settings des Attributes fehlt die Möglichkeit submitOnChange zu aktivieren. Somit ist eine Nutzung als Condition nicht möglich.
Ich habe in der Auswahl eine Verknüpfung zu einem extra MM mit Wochentagen. Als Sortierung der Mehrfachauswahl ist sorting eingestellt. Im Frontend wird allerdings die Ausgabe in einer mir nicht erschließbaren Reihenfolge gemacht. Eventuell wird da die Reihenfolge ausgegeben, in der die Items ausgewählt wurden?
Auch wenn ich die Sortierung umstelle, reagiert die Ausgabe darauf nicht und die Reihenfolge ändert sich nicht.
Viele Grüße
Ich habe im Tags Attribute eine Where pid=13 hinterlegt. Diese wird leider nicht mehr genutzt. Der Code sieht so aus als wurde der Umbau auf die Filter-Setting ( wie beim Select ) begonnen aber nicht abgeschlossen.
Folgendes Szenario
MetaModel "tags" angelegt mit den Attributen (Titel, Alias), dieses MM beinhaltet die Tags. In einem anderen MM habe ich das Attribut Tags hinzugefügt. Bei den Einstellungen habe ich folgendes definiert:
Datenbanktabelle: mm_tags
Spaltenname: title
Tag ID: id
Tag-Alias: alias
Tag-Sortierung: Tag.
Paletteneinstellung und Ausgabe erstellt und hinzugefügt. Beim erfassen kann ich die Tags auswählen beim speichern verliert das MM den Wert. Die Daten werden nicht gespeichert.
I think these lines of code are useless:
attribute_tags/src/MetaModels/Attribute/Tags/MetaModelTags.php
Lines 453 to 467 in afb66f1
Because we set the $value in this line:
So we are rendering the values twice.
Beim Öffnen der Lightbox eines Tag-Attributes in einem Model erscheint bei uns folgende Meldung:
Fatal error: Uncaught exception ContaoCommunityAlliance\DcGeneral\Exception\DcGeneralRuntimeException with message Unparsable encoded id value: '' thrown in composer/vendor/contao-community-alliance/dc-general/src/ContaoCommunityAlliance/DcGeneral/Data/ModelId.php on line 116
#0 composer/vendor/contao-community-alliance/dc-general/src/ContaoCommunityAlliance/DcGeneral/BaseConfigRegistry.php(163): ContaoCommunityAlliance\DcGeneral\Data\ModelId::fromSerialized(NULL)
#1 composer/vendor/contao-community-alliance/dc-general/src/ContaoCommunityAlliance/DcGeneral/BaseConfigRegistry.php(185): ContaoCommunityAlliance\DcGeneral\BaseConfigRegistry->buildBaseConfig(NULL)
#2 composer/vendor/contao-community-alliance/dc-general/src/ContaoCommunityAlliance/DcGeneral/Contao/View/Contao2BackendView/TreePicker.php(802): ContaoCommunityAlliance\DcGeneral\BaseConfigRegistry->getBaseConfig()
#3 composer/vendor/contao-community-alliance/dc-general/src/ContaoCommunityAlliance/DcGeneral/Contao/View/Contao2BackendView/TreePicker.php(871): ContaoCommunityAlliance\DcGeneral\Contao\View\Contao2BackendView\TreePicker->getTreeCollectionRecursive(0, 0, NULL)
#4 composer/vendor/contao-community-alliance/dc-general/src/ContaoCommunityAlliance/DcGeneral/Contao/View/Contao2BackendView/TreePicker.php(609): ContaoCommunityAlliance\DcGeneral\Contao\View\Contao2BackendView\TreePicker->loadCollection(0)
#5 composer/vendor/contao-community-alliance/dc-general/src/ContaoCommunityAlliance/DcGeneral/Contao/View/Contao2BackendView/TreeSelect.php(147): ContaoCommunityAlliance\DcGeneral\Contao\View\Contao2BackendView\TreePicker->generatePopup()
#6 composer/vendor/contao-community-alliance/dc-general/contao/backend/generaltree.php(40): ContaoCommunityAlliance\DcGeneral\Contao\View\Contao2BackendView\TreeSelect->run()
#7 {main}
Das Attribut hat folgende Konfiguration: datenbankdump.txt
What
Just a temporary hack. We should use the attribute for this.
Where
FEE error with checkbox wizard
ContaoCommunityAlliance\DcGeneral\Exception\DcGeneralRuntimeException:
Widget was not build for property mm_employees::spoken_languages.
at vendor/contao-community-alliance/dc-general-contao-frontend/src/View/WidgetManager.php:103
at ContaoCommunityAlliance\DcGeneral\ContaoFrontend\View\WidgetManager->getWidget('spoken_languages', null)
(vendor/contao-community-alliance/dc-general-contao-frontend/src/View/WidgetManager.php:127)
at ContaoCommunityAlliance\DcGeneral\ContaoFrontend\View\WidgetManager->renderWidget('spoken_languages', false, null)
(vendor/contao-community-alliance/dc-general-contao-frontend/src/View/EditMask.php:389)
at ContaoCommunityAlliance\DcGeneral\ContaoFrontend\View\EditMask->buildFieldSet(object(WidgetManager), object(Palette), null)
(vendor/contao-community-alliance/dc-general-contao-frontend/src/View/EditMask.php:180)
at ContaoCommunityAlliance\DcGeneral\ContaoFrontend\View\EditMask->execute()
(vendor/contao-community-alliance/dc-general-contao-frontend/src/View/ActionHandler/EditHandler.php:120)
at ContaoCommunityAlliance\DcGeneral\ContaoFrontend\View\ActionHandler\EditHandler->process(object(DefaultEnvironment))
(vendor/contao-community-alliance/dc-general-contao-frontend/src/View/ActionHandler/EditHandler.php:80)
at ContaoCommunityAlliance\DcGeneral\ContaoFrontend\View\ActionHandler\EditHandler->handleEvent(object(ActionEvent), 'dc-general.action', object(TraceableEventDispatcher))
(vendor/symfony/symfony/src/Symfony/Component/EventDispatcher/Debug/WrappedListener.php:111)
at Symfony\Component\EventDispatcher\Debug\WrappedListener->__invoke(object(ActionEvent), 'dc-general.action', object(ContainerAwareEventDispatcher))
(vendor/symfony/symfony/src/Symfony/Component/EventDispatcher/EventDispatcher.php:212)
at Symfony\Component\EventDispatcher\EventDispatcher->doDispatch(array(object(WrappedListener), object(WrappedListener), object(WrappedListener), object(WrappedListener), object(WrappedListener), object(WrappedListener), object(WrappedListener), object(WrappedListener), object(WrappedListener), object(WrappedListener), object(WrappedListener), object(WrappedListener), object(WrappedListener), object(WrappedListener), object(WrappedListener), object(WrappedListener), object(WrappedListener), object(WrappedListener), object(WrappedListener), object(WrappedListener), object(WrappedListener), object(WrappedListener), object(WrappedListener), object(WrappedListener), object(WrappedListener), object(WrappedListener)), 'dc-general.action', object(ActionEvent))
(vendor/symfony/symfony/src/Symfony/Component/EventDispatcher/EventDispatcher.php:44)
at Symfony\Component\EventDispatcher\EventDispatcher->dispatch('dc-general.action', object(ActionEvent))
(vendor/symfony/symfony/src/Symfony/Component/EventDispatcher/Debug/TraceableEventDispatcher.php:143)
at Symfony\Component\EventDispatcher\Debug\TraceableEventDispatcher->dispatch('dc-general.action', object(ActionEvent))
(vendor/contao-community-alliance/dc-general-contao-frontend/src/FrontendEditor.php:86)
at ContaoCommunityAlliance\DcGeneral\ContaoFrontend\FrontendEditor->editFor('mm_employees', 'create')
(vendor/metamodels/contao-frontend-editing/src/FrontendEditHybrid.php:92)
at MetaModels\ContaoFrontendEditingBundle\FrontendEditHybrid->compile()
(vendor/contao/core-bundle/src/Resources/contao/classes/Hybrid.php:236)
at Contao\Hybrid->generate()
(vendor/metamodels/core/src/FrontendIntegration/MetaModelHybrid.php:213)
at MetaModels\FrontendIntegration\MetaModelHybrid->generate()
(vendor/contao/core-bundle/src/Resources/contao/library/Contao/Controller.php:480)
at Contao\Controller::getContentElement(object(ContentModel), 'main')
(vendor/contao/core-bundle/src/Resources/contao/modules/ModuleArticle.php:183)
at Contao\ModuleArticle->compile()
(vendor/contao/core-bundle/src/Resources/contao/modules/Module.php:220)
at Contao\Module->generate()
(vendor/contao/core-bundle/src/Resources/contao/modules/ModuleArticle.php:65)
at Contao\ModuleArticle->generate(false)
(vendor/contao/core-bundle/src/Resources/contao/library/Contao/Controller.php:420)
at Contao\Controller::getArticle(object(ArticleModel), false, false, 'main')
(vendor/contao/core-bundle/src/Resources/contao/library/Contao/Controller.php:279)
at Contao\Controller::getFrontendModule('0', 'main')
(vendor/contao/core-bundle/src/Resources/contao/pages/PageRegular.php:174)
at Contao\PageRegular->prepare(object(PageModel))
(vendor/contao/core-bundle/src/Resources/contao/pages/PageRegular.php:47)
at Contao\PageRegular->getResponse(object(PageModel), true)
(vendor/contao/core-bundle/src/Resources/contao/controllers/FrontendIndex.php:306)
at Contao\FrontendIndex->renderPage(object(Collection))
(vendor/contao/core-bundle/src/Resources/contao/controllers/FrontendIndex.php:75)
at Contao\FrontendIndex->run()
(vendor/contao/core-bundle/src/Controller/FrontendController.php:42)
at Contao\CoreBundle\Controller\FrontendController->indexAction()
(vendor/symfony/symfony/src/Symfony/Component/HttpKernel/HttpKernel.php:151)
at Symfony\Component\HttpKernel\HttpKernel->handleRaw(object(Request), 1)
(vendor/symfony/symfony/src/Symfony/Component/HttpKernel/HttpKernel.php:68)
at Symfony\Component\HttpKernel\HttpKernel->handle(object(Request), 1, true)
(vendor/symfony/symfony/src/Symfony/Component/HttpKernel/Kernel.php:200)
at Symfony\Component\HttpKernel\Kernel->handle(object(Request))
(web/app_dev.php:64)
Nach einem Update auf die aktuelle nightly bekomme ich folgende Fehlermeldung, wenn ich einen neuen Datensatz anlegen möchte:
Fatal error: Uncaught exception Exception with message Query error: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near ')' at line 1 (SELECT mm_rezept_tags.* FROM mm_rezept_tags WHERE struktur_tags IN ()) thrown in …/system/libraries/Database.php on line 686
#0 …/system/libraries/Database.php(633): Database_Statement->query()
#1 …/system/modules/metamodelsattribute_tags/MetaModelAttributeTags.php(129): Database_Statement->execute()
#2 …/system/modules/metamodels/GeneralModelMetaModel.php(189): MetaModelAttributeTags->widgetToValue(Array, NULL)
#3 …/system/modules/generalDriver/GeneralControllerDefault.php(2726): GeneralModelMetaModel->setProperty('tags', Array)
#4 …/system/modules/generalDriver/GeneralControllerDefault.php(2344): GeneralControllerDefault->filterMenuAddOptions(Array, Array, 'mm_rezepte')
#5 …/system/modules/generalDriver/GeneralControllerDefault.php(2247): GeneralControllerDefault->generatePanelFilter()
#6 …/system/modules/generalDriver/GeneralControllerDefault.php(1204): GeneralControllerDefault->panel(Object(DC_General))
#7 …/system/drivers/DC_General.php(2288): GeneralControllerDefault->showAll()
#8 …/system/modules/metamodels/MetaModelBackendModule.php(156): DC_General->showAll()
#9 …/system/modules/metamodels/MetaModelBackendModule.php(176): MetaModelBackendModule->runDC()
#10 …/system/modules/metamodels/MetaModelBackendModule.php(190): MetaModelBackendModule->performNormal()
#11 …/system/modules/backend/Backend.php(239): MetaModelBackendModule->generate()
#12 …/contao/main.php(120): Backend->getBackendModule('metamodel_mm_re...')
#13 …/contao/main.php(230): Main->run()
#14 {main}
Hi,
I have a question. If I use the attribute in my installation and the related table for the Tags field get new items or items get removed, I get an error in the backend view of the editor mask.
Is there a solution or work-around for this or maybe the issue is already solved?
The error shows up by saving/updating the data. It says that the ids in the database differ to the ids from the widget.
Environment: contao 3.5.17
THX
If I rename a table with a related field I get an error message.
How to fix:
See in this line:
https://github.com/MetaModels/attribute_tags/blob/tng/src/system/modules/metamodelsattribute_tags/MetaModels/Attribute/Tags/Tags.php#L210
Check also if the table exists:
if (\Database::getInstance()->tableExists($strTableName) && $strTableName && $strColNameId && $strSortColumn)
Trace:
[12-Aug-2014 14:37:56 Europe/Berlin] PHP Fatal error: Uncaught exception 'Exception' with message 'Query error: Table 'tablename.mm_table_name_size' doesn't exist (SELECT COUNT(rel.value_id) as mm_count, mm_table_name_size.*
FROM mm_table_name_size
LEFT JOIN tl_metamodel_tag_relation as rel
ON (
(rel.att_id="21") AND (rel.value_id=mm_table_name_size.id)
)
GROUP BY mm_table_name_size.id
ORDER BY mm_table_name_size.size)' thrown in /system/modules/core/library/Contao/Database/Statement.php on line 283
#0 /system/modules/core/library/Contao/Database/Statement.php(254): Contao\Database\Statement->query()
#1 /system/modules/metamodelsattribute_tags/MetaModels/Attribute/Tags/Tags.php(294): Contao\Database\Statement->execute()
#2 /system/modules/metamodelsattribute_tags/MetaModels/Attribute/Tags/Tags.php(122): MetaModels\Attribute\Tags\Tags->getFilterOptions(NULL, false)
#3 /system/modules/metamodels/MetaModels/BackendIntegration/InputScreen/InputScreen.php(150): MetaModels\Attribute\Tags\Tags->getFieldDefinition(Array)
#4 /system/modules/metamodels/MetaModels/BackendIntegration/InputScreen/InputScreen.php(196): MetaModels\BackendIntegration\InputScreen\InputScreen->translateProperty(Array, Object(MetaModels\MetaModel), 'filter-einstell...')
#5 /system/modules/metamodels/MetaModels/BackendIntegration/InputScreen/InputScreen.php(76): MetaModels\BackendIntegration\InputScreen\InputScreen->translateRows(Array)
#6 /system/modules/metamodels/MetaModels/BackendIntegration/ViewCombinations.php(262): MetaModels\BackendIntegration\InputScreen\InputScreen->__construct(Array, Array, Array)
#7 /system/modules/metamodels/MetaModels/BackendIntegration/ViewCombinations.php(344): MetaModels\BackendIntegration\ViewCombinations::fetchInputScreenDetails()
#8 /system/modules/metamodels/MetaModels/BackendIntegration/ViewCombinations.php(420): MetaModels\BackendIntegration\ViewCombinations::bufferModels()
#9 /system/modules/metamodels/MetaModels/Dca/MetaModelDcaBuilder.php(311): MetaModels\BackendIntegration\ViewCombinations::getStandaloneInputScreens()
#10 /system/modules/metamodels/MetaModels/BackendIntegration/Boot.php(171): MetaModels\Dca\MetaModelDcaBuilder->injectBackendMenu()
#11 /system/initialize.php(233): MetaModels\BackendIntegration\Boot::perform()
#12 /contao/main.php(24): require_once('/.....')
#13 {main}
filter works in checkbox widget, but not with popup widget
related with #62
Warning: array_map(): Argument #2 should be an array in composer/vendor/metamodels/attribute_tags/src/MetaModels/Attribute/Tags/Tags.php on line 66
#0 [internal function]: __error(2, 'array_map(): Ar...', '/home/gutcert/c...', 66, Array)
#1 composer/vendor/metamodels/attribute_tags/src/MetaModels/Attribute/Tags/Tags.php(66): array_map('strval', '1027')
#2 composer/vendor/metamodels/core/src/MetaModels/DcGeneral/Data/Model.php(114): MetaModels\Attribute\Tags\Tags->valueToWidget(Array)
#3 composer/vendor/metamodels/core/src/MetaModels/DcGeneral/Data/Model.php(175): MetaModels\DcGeneral\Data\Model->getProperty('tl_page')
...
I confirm that:
(Please fill in the actual values from your environment)
Key | Value | Comments |
---|---|---|
PHP version: | ||
Contao version: | ||
MetaModels version core: | b15 | |
MetaModels version attribute: | ||
Installation via composer: | (yes) | |
Installed MetaModels packages: | ||
DCG version: | a39 |
after delete a tag item we have error e.g. at
because the array node is emptytemporary bugfix:
- if (!array_key_exists('tag_value_sorting', $tags[$valueId])) {
+ if (!array_key_exists('tag_value_sorting', (array) $tags[$valueId])) {
Question: we should delete all tags items if we delete the item at MM?
Hallo,
habe gerade die neuste TNG nightly geladen und kriege diesen Fehler, wenn ich die Einstellungen des Attributes in meinem MM ändern möchte:
Fatal error: Class 'MetaModels\Dca\Attribute' not found in /Users/USERNAME/Sites/SITE/system/modules/metamodelsattribute_tags/MetaModels/Dca/AttributeTags.php on line 30
Bei den translatedtags taucht ein ähnlicher Fehler auf:
Fatal error: Class 'MetaModels\DcGeneral\Events\Table\Attribute\Tags\PropertyAttribute' not found in /Users/USERNAME/Sites/SITE/system/modules/metamodelsattribute_translatedtags/MetaModels/DcGeneral/Events/Table/Attribute/Translated/Tags/PropertyAttribute.php on line 30
Mit dem Unterschied, dass ich diesen Fehler bereits kriege, wenn ich das BE/MetaModels öffne. Da ich dieses Attribut aber nicht verwende, habe ich den Ordner einfach komplett gelöscht. Dann kam ich auch ins BE.
Vielleicht hilft das.
Gruß,
Sebi
Wenn ich für das Attribut mit dem Feldtyp "tags" die Option "Filterbar" aktiviere, erhalte ich beim Aufruf der Backend-Liste den Fehler
Warning: Illegal offset type in system/modules/generalDriver/DcGeneral/Panel/DefaultFilterElement.php on line 159
#0 system/modules/generalDriver/DcGeneral/Panel/DefaultFilterElement.php(159): __error(2, 'Illegal offset ...', '/www/htdocs/w00...', 159, Array)
#1 system/modules/generalDriver/DcGeneral/Panel/DefaultPanel.php(71): DcGeneral\Panel\DefaultFilterElement->initialize(Object(DcGeneral\Data\DefaultConfig), NULL)
#2 system/modules/generalDriver/DcGeneral/Panel/DefaultPanelContainer.php(70): DcGeneral\Panel\DefaultPanel->initialize(Object(DcGeneral\Data\DefaultConfig), NULL)
#3 system/modules/generalDriver/DcGeneral/Controller/DefaultController.php(1279): DcGeneral\Panel\DefaultPanelContainer->initialize(Object(DcGeneral\Data\DefaultConfig))
#4 system/modules/generalDriver/DcGeneral/Controller/DefaultController.php(1294): DcGeneral\Controller\DefaultController->buildPanel()
#5 system/modules/generalDriver/DcGeneral/DC_General.php(2382): DcGeneral\Controller\DefaultController->showAll()
#6 system/modules/metamodels/MetaModels/BackendIntegration/Module.php(176): DcGeneral\DC_General->showAll()
#7 system/modules/metamodels/MetaModels/BackendIntegration/Module.php(196): MetaModels\BackendIntegration\Module->runDC()
#8 system/modules/metamodels/MetaModels/BackendIntegration/Module.php(210): MetaModels\BackendIntegration\Module->performNormal()
#9 system/modules/core/classes/Backend.php(272): MetaModels\BackendIntegration\Module->generate()
#10 contao/main.php(142): Contao\Backend->getBackendModule('metamodel_mm_sh...')
#11 contao/main.php(293): Main->run()
#12 {main}
Catch warning "array_key_exists()" in BE at edit item - but not every item... hmmm?
Hallo zusammen,
Ich bekomme ein Fehlermeldung bei der Zuordnung über Tags aus einem anderen MM im Backend.
In der Fehlermeldung hier ist ein Komma zu viel oder der Wert wird nicht übergeben.
Fatal error: Uncaught exception Exception with message Query error: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near ')' at line 3 (INSERT INTO tl_metamodel_tag_relation (att_id, item_id, value_sorting, value_id) VALUES (64,2,0,)) thrown in C:\xampp\htdocs\xxxxxxx\system\modules\core\library\Contao\Database\Statement.php on line 279
Der Ausbau ist folgender:
Ein MM für Instrumente und ein MM für Künstler. Im mm_kuenstler wird per Tags im Backend zugeordnet welcher Künstler welche Instrumente spielt.
Das Attribut ist eine Mehrfachauswahl aus die Tabelle Instrumente, Alias ist alis und Bezeichnung ist ein Textfeld (nicht übersetzt). Sortierung die ID. Keine wilde Sache eigentlich!
Ich habe dazu schon mit DavidMaack gesprochen, konnten aber leider keine Lösung auf die Schnelle finden.
Habt ihr einen Tipp für mich, ob es an einer Einstellung liegen kann, oder ist das ein Fehler.
Viele Grüße
Markus Schindler
FEE error at popup widget
ContaoCommunityAlliance\DcGeneral\Exception\DcGeneralRuntimeException:
Widget was not build for property mm_employees::tl_page_ids.
at vendor/contao-community-alliance/dc-general-contao-frontend/src/View/WidgetManager.php:103
at ContaoCommunityAlliance\DcGeneral\ContaoFrontend\View\WidgetManager->getWidget('tl_page_ids', null)
(vendor/contao-community-alliance/dc-general-contao-frontend/src/View/WidgetManager.php:127)
at ContaoCommunityAlliance\DcGeneral\ContaoFrontend\View\WidgetManager->renderWidget('tl_page_ids', false, null)
(vendor/contao-community-alliance/dc-general-contao-frontend/src/View/EditMask.php:389)
at ContaoCommunityAlliance\DcGeneral\ContaoFrontend\View\EditMask->buildFieldSet(object(WidgetManager), object(Palette), null)
(vendor/contao-community-alliance/dc-general-contao-frontend/src/View/EditMask.php:180)
at ContaoCommunityAlliance\DcGeneral\ContaoFrontend\View\EditMask->execute()
(vendor/contao-community-alliance/dc-general-contao-frontend/src/View/ActionHandler/EditHandler.php:120)
at ContaoCommunityAlliance\DcGeneral\ContaoFrontend\View\ActionHandler\EditHandler->process(object(DefaultEnvironment))
(vendor/contao-community-alliance/dc-general-contao-frontend/src/View/ActionHandler/EditHandler.php:80)
at ContaoCommunityAlliance\DcGeneral\ContaoFrontend\View\ActionHandler\EditHandler->handleEvent(object(ActionEvent), 'dc-general.action', object(TraceableEventDispatcher))
(vendor/symfony/symfony/src/Symfony/Component/EventDispatcher/Debug/WrappedListener.php:111)
at Symfony\Component\EventDispatcher\Debug\WrappedListener->__invoke(object(ActionEvent), 'dc-general.action', object(ContainerAwareEventDispatcher))
(vendor/symfony/symfony/src/Symfony/Component/EventDispatcher/EventDispatcher.php:212)
at Symfony\Component\EventDispatcher\EventDispatcher->doDispatch(array(object(WrappedListener), object(WrappedListener), object(WrappedListener), object(WrappedListener), object(WrappedListener), object(WrappedListener), object(WrappedListener), object(WrappedListener), object(WrappedListener), object(WrappedListener), object(WrappedListener), object(WrappedListener), object(WrappedListener), object(WrappedListener), object(WrappedListener), object(WrappedListener), object(WrappedListener), object(WrappedListener), object(WrappedListener), object(WrappedListener), object(WrappedListener), object(WrappedListener), object(WrappedListener), object(WrappedListener), object(WrappedListener), object(WrappedListener)), 'dc-general.action', object(ActionEvent))
(vendor/symfony/symfony/src/Symfony/Component/EventDispatcher/EventDispatcher.php:44)
at Symfony\Component\EventDispatcher\EventDispatcher->dispatch('dc-general.action', object(ActionEvent))
(vendor/symfony/symfony/src/Symfony/Component/EventDispatcher/Debug/TraceableEventDispatcher.php:143)
at Symfony\Component\EventDispatcher\Debug\TraceableEventDispatcher->dispatch('dc-general.action', object(ActionEvent))
(vendor/contao-community-alliance/dc-general-contao-frontend/src/FrontendEditor.php:86)
at ContaoCommunityAlliance\DcGeneral\ContaoFrontend\FrontendEditor->editFor('mm_employees', 'create')
(vendor/metamodels/contao-frontend-editing/src/FrontendEditHybrid.php:92)
at MetaModels\ContaoFrontendEditingBundle\FrontendEditHybrid->compile()
(vendor/contao/core-bundle/src/Resources/contao/classes/Hybrid.php:236)
at Contao\Hybrid->generate()
(vendor/metamodels/core/src/FrontendIntegration/MetaModelHybrid.php:213)
at MetaModels\FrontendIntegration\MetaModelHybrid->generate()
(vendor/contao/core-bundle/src/Resources/contao/library/Contao/Controller.php:480)
at Contao\Controller::getContentElement(object(ContentModel), 'main')
(vendor/contao/core-bundle/src/Resources/contao/modules/ModuleArticle.php:183)
at Contao\ModuleArticle->compile()
(vendor/contao/core-bundle/src/Resources/contao/modules/Module.php:220)
at Contao\Module->generate()
(vendor/contao/core-bundle/src/Resources/contao/modules/ModuleArticle.php:65)
at Contao\ModuleArticle->generate(false)
(vendor/contao/core-bundle/src/Resources/contao/library/Contao/Controller.php:420)
at Contao\Controller::getArticle(object(ArticleModel), false, false, 'main')
(vendor/contao/core-bundle/src/Resources/contao/library/Contao/Controller.php:279)
at Contao\Controller::getFrontendModule('0', 'main')
(vendor/contao/core-bundle/src/Resources/contao/pages/PageRegular.php:174)
at Contao\PageRegular->prepare(object(PageModel))
(vendor/contao/core-bundle/src/Resources/contao/pages/PageRegular.php:47)
at Contao\PageRegular->getResponse(object(PageModel), true)
(vendor/contao/core-bundle/src/Resources/contao/controllers/FrontendIndex.php:306)
at Contao\FrontendIndex->renderPage(object(Collection))
(vendor/contao/core-bundle/src/Resources/contao/controllers/FrontendIndex.php:75)
at Contao\FrontendIndex->run()
(vendor/contao/core-bundle/src/Controller/FrontendController.php:42)
at Contao\CoreBundle\Controller\FrontendController->indexAction()
(vendor/symfony/symfony/src/Symfony/Component/HttpKernel/HttpKernel.php:151)
at Symfony\Component\HttpKernel\HttpKernel->handleRaw(object(Request), 1)
(vendor/symfony/symfony/src/Symfony/Component/HttpKernel/HttpKernel.php:68)
at Symfony\Component\HttpKernel\HttpKernel->handle(object(Request), 1, true)
(vendor/symfony/symfony/src/Symfony/Component/HttpKernel/Kernel.php:200)
at Symfony\Component\HttpKernel\Kernel->handle(object(Request))
(web/app_dev.php:64)
Ich habe aktuell das problem unter Contao 3.3.7 und der aktuelle tng, dass die Ausgabe der Tags im Frontend nicht vollständig erfolgt.
In allen items meines MM haben ich je item mehrere Tags ausgewählt und diese werden auch im Backend (DB) korrekt gespeichert.
In der Frontendausgabe über ein Listen Element werden bei manchen items die Tags ausgegeben bei anderen wird nur NULL übergeben.
Gerne kann ich einen Zugang für das Debugging bereitstellen.
Danke
On the backend side I am using the attribute 'tags' to tag my projects. 'Multiple choice' is here the right thing to do since most of the projects fit into more than just one category.
On the frontend side I would like to use a 'select' as a filter. But the filter templates (mm_filteritem_) given are: checkbox, linklist, radiobuttons. Radio buttons are actually doing the job (one option only), but they are taking too much space. I would like keep the filter section as small as possible (check screenshot).
Can a mm_filteritem_select be added?
Property attribute_name (tags) did not accept the value (The values differ. Array value mismatch for key 0. Found 'B' expected 'A').
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.