CINXE.COM

Struct data with records in columns?? - DokuWiki User Forum

<!doctype html> <html dir="ltr" lang="en" > <head> <meta charset="utf-8"> <title>Struct data with records in columns?? - DokuWiki User Forum</title> <link rel="stylesheet" href="https://forum.dokuwiki.org/assets/forum.css?v=7acda506"> <link rel="canonical" href="https://forum.dokuwiki.org/d/22791-struct-data-with-records-in-columns"> <link rel="preload" href="https://forum.dokuwiki.org/assets/forum.css?v=7acda506" as="style"> <link rel="preload" href="https://forum.dokuwiki.org/assets/forum.js?v=04555daa" as="script"> <link rel="preload" href="https://forum.dokuwiki.org/assets/forum-en.js?v=3f8c127f" as="script"> <link rel="preload" href="https://forum.dokuwiki.org/assets/fonts/fa-solid-900.woff2" as="font" type="font/woff2" crossorigin=""> <link rel="preload" href="https://forum.dokuwiki.org/assets/fonts/fa-regular-400.woff2" as="font" type="font/woff2" crossorigin=""> <meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1, minimum-scale=1"> <meta name="description" content="Community Discussions, Questions and Answers for the OpenSource wiki software DokuWiki."> <meta name="theme-color" content="#2b73b7"> <link rel="shortcut icon" href="https://forum.dokuwiki.org/assets/favicon-uclcz3ze.ico"> <link rel="alternate" type="application/atom+xml" title="Forum activity" href="https://forum.dokuwiki.org/atom" /> <link rel="alternate" type="application/atom+xml" title="Forum's new discussions" href="https://forum.dokuwiki.org/atom/discussions" /> <link rel="alternate" type="application/atom+xml" title="This discussion" href="https://forum.dokuwiki.org/atom/d/22791-struct-data-with-records-in-columns" /> <!-- Global Site Tag (gtag.js) - Google Analytics --> <script async src="https://www.googletagmanager.com/gtag/js?id=UA-83791-8"></script> <script> window.dataLayer = window.dataLayer || []; function gtag(){dataLayer.push(arguments);} gtag('js', new Date()); </script> </head> <body> <div id="app" class="App"> <div id="app-navigation" class="App-navigation"></div> <div id="drawer" class="App-drawer"> <header id="header" class="App-header"> <div id="header-navigation" class="Header-navigation"></div> <div class="container"> <div class="Header-title"> <a href="https://forum.dokuwiki.org" id="home-link"> <img src="https://forum.dokuwiki.org/assets/logo-wz7ks7zj.png" alt="DokuWiki User Forum" class="Header-logo"> </a> </div> <div id="header-primary" class="Header-primary"></div> <div id="header-secondary" class="Header-secondary"></div> </div> </header> </div> <main class="App-content"> <div id="content"></div> <div id="flarum-loading" style="display: none"> Loading... </div> <noscript> <div class="Alert"> <div class="container"> This site is best viewed in a modern browser with JavaScript enabled. </div> </div> </noscript> <div id="flarum-loading-error" style="display: none"> <div class="Alert"> <div class="container"> Something went wrong while trying to load the full version of this site. Try hard-refreshing this page to fix the error. </div> </div> </div> <noscript id="flarum-content"> <div class="container"> <h1>Struct data with records in columns??</h1> <div> <article> <div class="PostUser"><h3 class="PostUser-name">cjohnsonuk</h3></div> <div class="Post-body"> <p>I can see how to use struct data and the structtemplate to present each struct record as a row in a table but my struct records have many fields so I'd like to present each record in a column instead. One way would be to create them using structtemplate with one record per row then transpose the table but I can't find a plugin to transpose a table in DW. The other would be to create the table from scratch in a column format.</p> <p>Ultimately I'd like to combine this with the functionality of struct aggregation <code>---- struct filter ----</code> filters so that I can choose which records to show in the columns.</p> <p>Before I go looking at the code have I missed an extension that would provide this functionality?</p> </div> </article> <hr> <article> <div class="PostUser"><h3 class="PostUser-name">Chris75</h3></div> <div class="Post-body"> <blockquote class="uncited"><div><p><a href="https://forum.dokuwiki.org/d/22791/1" class="PostMention" data-id="95290">cjohnsonuk</a> I can't find a plugin to transpose a table in DW.</p></div></blockquote> <p>To transpose (invert, flip) your schema's table, copy following code into your <code>/dokuwiki/conf/userscript.js</code>:</p> <pre><code>jQuery('div.structaggregation[data-schema="yourschema"]').prepend('&lt;p&gt;&lt;a class="flip button" href="#"&gt;↺ Turn table&lt;/a&gt;&lt;/p&gt;'); jQuery("a.flip").click(function(){ jQuery('div.structaggregation[data-schema="yourschema"] table').each(function() { var $table = jQuery(this); var $newrows = []; $table.find("tr").each(function(){ var i = 0; jQuery(this).find("td, th").each(function(){ i++; if ($newrows[i] === undefined) { $newrows[i] = jQuery("&lt;tr&gt;&lt;/tr&gt;"); } if (jQuery(this).is("th")) { $newrows[i].append("&lt;th&gt;" + this.innerHTML + "&lt;/th&gt;"); } else { $newrows[i].append("&lt;td&gt;" + this.innerHTML + "&lt;/td&gt;"); } }); }); $table.find("tr").remove(); jQuery.each($newrows, function(){ $table.append(this); }); }); return false; });</code><script async="" crossorigin="anonymous" data-hljs-style="github" integrity="sha384-ryUuFF+lg0ZHUA7DaXhvSekelOyHvqE2+5VtldjgFG+Y99aBpL8SNXEPubG6UTNv" src="https://cdn.jsdelivr.net/gh/s9e/hljs-loader@1.0.32/loader.min.js"></script><script> if(window.hljsLoader && !document.currentScript.parentNode.hasAttribute('data-s9e-livepreview-onupdate')) { window.hljsLoader.highlightBlocks(document.currentScript.parentNode); } </script></pre> <p>You need to insert the name of your schema, where it says <code>yourschema</code>in the code in 2 places. Save your file. Close and restart your browser, and try it out. Cheers!</p> <p><strong>Source:</strong> <a href="https://stackoverflow.com/questions/6297591/how-to-invert-transpose-the-rows-and-columns-of-an-html-table" rel="ugc nofollow">https://stackoverflow.com/questions/6297591/how-to-invert-transpose-the-rows-and-columns-of-an-html-table</a></p> </div> </article> <hr> </div> </div> </noscript> <div class="App-composer"> <div class="container"> <div id="composer"></div> </div> </div> </main> </div> <a href="http://www.splitbrain.org/personal#imprint">Imprint</a> <!-- Include for DokuWiki site wide top bar --> <style type="text/css"> @media screen { body { padding-top: 30px; } #global__header { position: absolute; top: 0; left: 0; text-align: left; vertical-align: middle; line-height: 1.5; background-color: #333; box-shadow: 0 0 8px rgba(0,0,0,0.5); width: 100%; margin: 0; padding: 5px 20px; -moz-box-sizing: border-box; -webkit-box-sizing: border-box; box-sizing: border-box; white-space: nowrap; overflow: hidden; } #global__header h2 { position: absolute; left: -99999em; top: 0; overflow: hidden; display: inline; } #global__header ul, #global__header li { margin: 0; padding: 0; list-style: none; display: inline; line-height: 1.5; } #global__header a { color: #bbb; text-decoration: none; margin-right: 20px; font-size: 14px; font-weight: normal; } #global__header a:hover, #global__header a:active, #global__header a:focus { color: #fff; text-decoration: underline; } #global__header form { float: right; margin: 0 0 0 20px; } #global__header input { background-color: #333; background-image: none; border: 1px solid #bbb; color: #fff; box-shadow: none; border-radius: 2px; margin: 0; line-height: normal; padding: 1px 0 1px 0; height: auto; } #global__header input.button { border: none; color: #bbb; } #global__header input.button:hover, #global__header input.button:active, #global__header input.button:focus { color: #fff; text-decoration: underline; } } /* /@media */ @media only screen and (min-width: 601px) { /* changes specific for www.dokuwiki.org */ #dokuwiki__header { padding-top: 3em; } #dokuwiki__usertools { top: 3em; } /* changes specific for bugs.dokuwiki.org */ div#container div#showtask { top: 40px; } } /* /@media */ @media only screen and (max-width: 600px) { body { padding-top: 0; } #global__header { position: static; white-space: normal; overflow: auto; } #global__header form { float: none; display: block; margin: 0 0 .4em; } } /* /@media */ @media print { #global__header { display: none; } } /* /@media */ </style> <div id="global__header"> <h2>Global DokuWiki Links</h2> <form method="get" action="https://search.dokuwiki.org/" target="_top"> <input type="text" name="q" title="Search all DokuWiki sites at once" class="input" /> <input type="submit" title="Search all DokuWiki sites at once" value="Search" class="button" /> </form> <ul> <li><a href="https://download.dokuwiki.org" title="Download the latest release" target="_top">Download</a></li> <li><a href="https://www.dokuwiki.org" title="Read the DokuWiki documentation" target="_top">Wiki</a></li> <li><a href="https://forum.dokuwiki.org" title="Ask questions in the DokuWiki forum" target="_top">Forum</a> <li><a href="https://irc.dokuwiki.org" title="Check IRC chat logs or join the chat" target="_top">IRC</a> <li><a href="https://github.com/splitbrain/dokuwiki/issues" title="Report and track bugs" target="_top">Bugs</a> <li><a href="https://translate.dokuwiki.org/" title="Help translating the DokuWiki interface" target="_top">Translate</a> <li><a href="https://github.com/dokuwiki/dokuwiki" title="Access the most recent git commits" target="_top">Git</a> <li><a href="https://xref.dokuwiki.org/reference/dokuwiki/" title="Cross-Reference of the DokuWiki source code" target="_top">XRef</a> </ul> </div> <!-- end of DokuWiki top bar include --> <div id="modal"></div> <div id="alerts"></div> <script> document.getElementById('flarum-loading').style.display = 'block'; var flarum = {extensions: {}}; </script> <script src="https://forum.dokuwiki.org/assets/forum.js?v=04555daa"></script> <script src="https://forum.dokuwiki.org/assets/forum-en.js?v=3f8c127f"></script> <script id="flarum-json-payload" type="application/json">{"resources":[{"type":"forums","id":"1","attributes":{"title":"DokuWiki User Forum","description":"Community Discussions, Questions and Answers for the OpenSource wiki software DokuWiki.","showLanguageSelector":true,"baseUrl":"https:\/\/forum.dokuwiki.org","basePath":"","baseOrigin":"https:\/\/forum.dokuwiki.org","debug":false,"apiUrl":"https:\/\/forum.dokuwiki.org\/api","welcomeTitle":"Welcome to the DokuWiki User Forum","welcomeMessage":"","themePrimaryColor":"#2b73b7","themeSecondaryColor":"#eee","logoUrl":"https:\/\/forum.dokuwiki.org\/assets\/logo-wz7ks7zj.png","faviconUrl":"https:\/\/forum.dokuwiki.org\/assets\/favicon-uclcz3ze.ico","headerHtml":null,"footerHtml":"\u003Ca href=\u0022http:\/\/www.splitbrain.org\/personal#imprint\u0022\u003EImprint\u003C\/a\u003E\n\n\u003C!-- Include for DokuWiki site wide top bar --\u003E\n\u003Cstyle type=\u0022text\/css\u0022\u003E\n@media screen {\n\n body {\n padding-top: 30px;\n }\n\n #global__header {\n position: absolute;\n top: 0;\n left: 0;\n\n text-align: left;\n vertical-align: middle;\n line-height: 1.5;\n\n background-color: #333;\n box-shadow: 0 0 8px rgba(0,0,0,0.5);\n width: 100%;\n margin: 0;\n padding: 5px 20px;\n -moz-box-sizing: border-box;\n -webkit-box-sizing: border-box;\n box-sizing: border-box;\n\n white-space: nowrap;\n overflow: hidden;\n }\n\n #global__header h2 {\n position: absolute;\n left: -99999em;\n top: 0;\n overflow: hidden;\n display: inline;\n }\n\n #global__header ul,\n #global__header li {\n margin: 0;\n padding: 0;\n list-style: none;\n display: inline;\n line-height: 1.5;\n }\n\n #global__header a {\n color: #bbb;\n text-decoration: none;\n margin-right: 20px;\n font-size: 14px;\n font-weight: normal;\n }\n #global__header a:hover,\n #global__header a:active,\n #global__header a:focus {\n color: #fff;\n text-decoration: underline;\n }\n\n #global__header form {\n float: right;\n margin: 0 0 0 20px;\n }\n\n #global__header input {\n background-color: #333;\n background-image: none;\n border: 1px solid #bbb;\n color: #fff;\n box-shadow: none;\n border-radius: 2px;\n margin: 0;\n line-height: normal;\n padding: 1px 0 1px 0;\n height: auto;\n }\n\n #global__header input.button {\n border: none;\n color: #bbb;\n }\n #global__header input.button:hover,\n #global__header input.button:active,\n #global__header input.button:focus {\n color: #fff;\n text-decoration: underline;\n }\n} \/* \/@media *\/\n\n\n@media only screen and (min-width: 601px) {\n \/* changes specific for www.dokuwiki.org *\/\n #dokuwiki__header {\n padding-top: 3em;\n }\n #dokuwiki__usertools {\n top: 3em;\n }\n \/* changes specific for bugs.dokuwiki.org *\/\n div#container div#showtask {\n top: 40px;\n }\n} \/* \/@media *\/\n\n@media only screen and (max-width: 600px) {\n body {\n padding-top: 0;\n }\n\n #global__header {\n position: static;\n white-space: normal;\n overflow: auto;\n }\n\n #global__header form {\n float: none;\n display: block;\n margin: 0 0 .4em;\n }\n} \/* \/@media *\/\n\n@media print {\n #global__header {\n display: none;\n }\n} \/* \/@media *\/\n\u003C\/style\u003E\n\n\u003Cdiv id=\u0022global__header\u0022\u003E\n \u003Ch2\u003EGlobal DokuWiki Links\u003C\/h2\u003E\n\n \u003Cform method=\u0022get\u0022 action=\u0022https:\/\/search.dokuwiki.org\/\u0022 target=\u0022_top\u0022\u003E\n \u003Cinput type=\u0022text\u0022 name=\u0022q\u0022 title=\u0022Search all DokuWiki sites at once\u0022 class=\u0022input\u0022 \/\u003E\n \u003Cinput type=\u0022submit\u0022 title=\u0022Search all DokuWiki sites at once\u0022 value=\u0022Search\u0022 class=\u0022button\u0022 \/\u003E\n \u003C\/form\u003E\n\n \u003Cul\u003E\n \u003Cli\u003E\u003Ca href=\u0022https:\/\/download.dokuwiki.org\u0022 title=\u0022Download the latest release\u0022 target=\u0022_top\u0022\u003EDownload\u003C\/a\u003E\u003C\/li\u003E\n \u003Cli\u003E\u003Ca href=\u0022https:\/\/www.dokuwiki.org\u0022 title=\u0022Read the DokuWiki documentation\u0022 target=\u0022_top\u0022\u003EWiki\u003C\/a\u003E\u003C\/li\u003E\n \u003Cli\u003E\u003Ca href=\u0022https:\/\/forum.dokuwiki.org\u0022 title=\u0022Ask questions in the DokuWiki forum\u0022 target=\u0022_top\u0022\u003EForum\u003C\/a\u003E\n \u003Cli\u003E\u003Ca href=\u0022https:\/\/irc.dokuwiki.org\u0022 title=\u0022Check IRC chat logs or join the chat\u0022 target=\u0022_top\u0022\u003EIRC\u003C\/a\u003E\n \u003Cli\u003E\u003Ca href=\u0022https:\/\/github.com\/splitbrain\/dokuwiki\/issues\u0022 title=\u0022Report and track bugs\u0022 target=\u0022_top\u0022\u003EBugs\u003C\/a\u003E\n \u003Cli\u003E\u003Ca href=\u0022https:\/\/translate.dokuwiki.org\/\u0022 title=\u0022Help translating the DokuWiki interface\u0022 target=\u0022_top\u0022\u003ETranslate\u003C\/a\u003E\n \u003Cli\u003E\u003Ca href=\u0022https:\/\/github.com\/dokuwiki\/dokuwiki\u0022 title=\u0022Access the most recent git commits\u0022 target=\u0022_top\u0022\u003EGit\u003C\/a\u003E\n \u003Cli\u003E\u003Ca href=\u0022https:\/\/xref.dokuwiki.org\/reference\/dokuwiki\/\u0022 title=\u0022Cross-Reference of the DokuWiki source code\u0022 target=\u0022_top\u0022\u003EXRef\u003C\/a\u003E\n \u003C\/ul\u003E\n\u003C\/div\u003E\n\u003C!-- end of DokuWiki top bar include --\u003E\n","allowSignUp":true,"defaultRoute":"\/all","canViewForum":true,"canStartDiscussion":false,"canSearchUsers":false,"canCreateAccessToken":false,"canModerateAccessTokens":false,"assetsBaseUrl":"https:\/\/forum.dokuwiki.org\/assets","canViewFlags":false,"guidelinesUrl":null,"canBypassTagCounts":false,"minPrimaryTags":"1","maxPrimaryTags":"1","minSecondaryTags":"0","maxSecondaryTags":"3","canMovePosts":false,"ianm-syndication.plugin.forum-format":"atom","ianm-syndication.plugin.forum-icons":false,"canSeeUserDirectoryLink":false,"userDirectorySmallCards":false,"userDirectoryDisableGlobalSearchSource":false,"userDirectoryDefaultSort":"default","fof-user-bio.maxLength":200,"masquerade.force-profile-completion":false,"masquerade.profile-completed":false,"canViewMasquerade":false,"canStartPrivateDiscussion":false,"canStartPrivateDiscussionWithUsers":false,"canStartPrivateDiscussionWithGroups":false,"canStartPrivateDiscussionWithBlockers":false,"byobu.icon-badge":"fas fa-comment","byobu.icon-postAction":"fas fa-comments","allowUsernameMentionFormat":true},"relationships":{"groups":{"data":[{"type":"groups","id":"1"},{"type":"groups","id":"2"},{"type":"groups","id":"3"},{"type":"groups","id":"4"},{"type":"groups","id":"5"},{"type":"groups","id":"6"},{"type":"groups","id":"7"},{"type":"groups","id":"10"}]},"tags":{"data":[{"type":"tags","id":"2"},{"type":"tags","id":"3"},{"type":"tags","id":"9"},{"type":"tags","id":"15"},{"type":"tags","id":"16"},{"type":"tags","id":"30"},{"type":"tags","id":"31"},{"type":"tags","id":"32"},{"type":"tags","id":"33"},{"type":"tags","id":"35"},{"type":"tags","id":"36"}]},"masqueradeFields":{"data":[{"type":"masquerade-field","id":"1"}]}}},{"type":"groups","id":"1","attributes":{"nameSingular":"Admin","namePlural":"Admins","color":"#B72A2A","icon":"fas fa-wrench","isHidden":0}},{"type":"groups","id":"2","attributes":{"nameSingular":"Guest","namePlural":"Guests","color":null,"icon":null,"isHidden":0}},{"type":"groups","id":"3","attributes":{"nameSingular":"Member","namePlural":"Members","color":null,"icon":null,"isHidden":0}},{"type":"groups","id":"4","attributes":{"nameSingular":"Mod","namePlural":"Mods","color":"#80349E","icon":"fas fa-bolt","isHidden":0}},{"type":"groups","id":"5","attributes":{"nameSingular":"Super Mods","namePlural":"Super Mods","color":"#0D611F","icon":"fas fa-hammer","isHidden":0}},{"type":"groups","id":"6","attributes":{"nameSingular":"Newsletter Team","namePlural":"Newsletter Team","color":"#D75607","icon":"fas fa-envelope","isHidden":0}},{"type":"groups","id":"7","attributes":{"nameSingular":"Wiki Managers","namePlural":"Wiki Managers","color":"#41081F","icon":"fas fa-screwdriver","isHidden":0}},{"type":"groups","id":"10","attributes":{"nameSingular":"Documentation Team","namePlural":"Documentation Team","color":"#31E5B5","icon":"fas fa-book","isHidden":0}},{"type":"tags","id":"2","attributes":{"name":"Install \u0026 Config","description":"How to setup and configure DokuWiki at your server","slug":"install-config","color":"#80b1d3","backgroundUrl":null,"backgroundMode":null,"icon":"fas fa-download","discussionCount":4028,"position":1,"defaultSort":null,"isChild":false,"isHidden":false,"lastPostedAt":"2025-02-24T22:37:27+00:00","canStartDiscussion":false,"canAddToDiscussion":false}},{"type":"tags","id":"3","attributes":{"name":"Syntax \u0026 Usage","description":"How to create and edit pages","slug":"syntax-usage","color":"#fdb462","backgroundUrl":null,"backgroundMode":null,"icon":"fas fa-code","discussionCount":1914,"position":2,"defaultSort":null,"isChild":false,"isHidden":false,"lastPostedAt":"2025-02-22T12:53:59+00:00","canStartDiscussion":false,"canAddToDiscussion":false}},{"type":"tags","id":"9","attributes":{"name":"Server Setup","description":"How to setup your server to be able to run DokuWiki","slug":"server-setup","color":"#4F58F6","backgroundUrl":null,"backgroundMode":null,"icon":"fas fa-server","discussionCount":584,"position":3,"defaultSort":null,"isChild":false,"isHidden":false,"lastPostedAt":"2025-02-21T06:37:02+00:00","canStartDiscussion":false,"canAddToDiscussion":false}},{"type":"tags","id":"15","attributes":{"name":"General Stuff","description":"Everything about DokuWiki not fitting in the above categories","slug":"general-stuff","color":"#bebada","backgroundUrl":null,"backgroundMode":null,"icon":"fas fa-star-of-life","discussionCount":1564,"position":0,"defaultSort":null,"isChild":false,"isHidden":false,"lastPostedAt":"2025-02-24T14:47:13+00:00","canStartDiscussion":false,"canAddToDiscussion":false}},{"type":"tags","id":"16","attributes":{"name":"Features","description":"Talk about DokuWiki\u0027s features here","slug":"features","color":"#b3de69","backgroundUrl":null,"backgroundMode":null,"icon":"fas fa-splotch","discussionCount":2055,"position":4,"defaultSort":null,"isChild":false,"isHidden":false,"lastPostedAt":"2025-01-27T13:13:18+00:00","canStartDiscussion":false,"canAddToDiscussion":false}},{"type":"tags","id":"30","attributes":{"name":"Development","description":"Plugin-, Template- and DokuWiki related Programming Questions","slug":"development","color":"#5D6772","backgroundUrl":null,"backgroundMode":null,"icon":"fas fa-keyboard","discussionCount":362,"position":8,"defaultSort":null,"isChild":false,"isHidden":false,"lastPostedAt":"2025-02-18T22:17:07+00:00","canStartDiscussion":false,"canAddToDiscussion":false}},{"type":"tags","id":"31","attributes":{"name":"Community\u2026","description":"","slug":"community","color":"","backgroundUrl":null,"backgroundMode":null,"icon":"fas fa-users","discussionCount":296,"position":6,"defaultSort":null,"isChild":false,"isHidden":false,"lastPostedAt":"2025-02-15T04:08:28+00:00","canStartDiscussion":false,"canAddToDiscussion":false}},{"type":"tags","id":"32","attributes":{"name":"Non-English\u2026","description":"Discussion in languages other than English.","slug":"non-english","color":"","backgroundUrl":null,"backgroundMode":null,"icon":"fas fa-globe","discussionCount":952,"position":7,"defaultSort":null,"isChild":false,"isHidden":false,"lastPostedAt":"2025-02-24T07:16:05+00:00","canStartDiscussion":false,"canAddToDiscussion":false}},{"type":"tags","id":"33","attributes":{"name":"Extensions\u2026","description":"How to adjust DokuWiki to your ideas","slug":"extensions","color":"","backgroundUrl":null,"backgroundMode":null,"icon":"fas fa-wrench","discussionCount":1490,"position":5,"defaultSort":null,"isChild":false,"isHidden":false,"lastPostedAt":"2025-02-25T00:25:11+00:00","canStartDiscussion":false,"canAddToDiscussion":false}},{"type":"tags","id":"35","attributes":{"name":"solved","description":"This problem or question has been solved","slug":"solved","color":"#13ba0b","backgroundUrl":null,"backgroundMode":null,"icon":"fas fa-check-circle","discussionCount":893,"position":null,"defaultSort":null,"isChild":false,"isHidden":false,"lastPostedAt":"2025-02-24T22:37:27+00:00","canStartDiscussion":false,"canAddToDiscussion":false}},{"type":"tags","id":"36","attributes":{"name":"off-topic","description":"This thread is not really about DokuWiki - it might be deleted later.","slug":"off-topic","color":"","backgroundUrl":null,"backgroundMode":null,"icon":"fas fa-skull-crossbones","discussionCount":322,"position":null,"defaultSort":null,"isChild":false,"isHidden":true,"lastPostedAt":"2025-02-04T19:43:00+00:00","canStartDiscussion":false,"canAddToDiscussion":false}},{"type":"masquerade-field","id":"1","attributes":{"name":"Location","description":"Where do you live?","required":false,"validation":"","prefix":"","icon":"fas fa-globe","sort":0,"deleted_at":null,"on_bio":true,"type":null}}],"session":{"userId":0,"csrfToken":"fVRV87uQGLBGY4QVR9662wbWWobQPuXREGatzxws"},"locales":{"en":"English"},"locale":"en","googleTrackingCode":"UA-83791-8","apiDocument":{"data":{"type":"discussions","id":"22791","attributes":{"title":"Struct data with records in columns??","slug":"22791-struct-data-with-records-in-columns","commentCount":2,"participantCount":2,"createdAt":"2025-01-10T12:28:57+00:00","lastPostedAt":"2025-01-10T13:29:46+00:00","lastPostNumber":2,"canReply":false,"canRename":false,"canDelete":false,"canHide":false,"isApproved":true,"canTag":false,"isFirstMoved":false,"canEditRecipients":false,"canEditUserRecipients":false,"canEditGroupRecipients":false,"isPrivateDiscussion":false,"subscription":null,"isSticky":false,"canSticky":false,"isLocked":false,"canLock":false},"relationships":{"user":{"data":{"type":"users","id":"13691"}},"posts":{"data":[{"type":"posts","id":"95290"},{"type":"posts","id":"95297"}]},"tags":{"data":[{"type":"tags","id":"5"},{"type":"tags","id":"19"},{"type":"tags","id":"33"}]},"recipientUsers":{"data":[]},"recipientGroups":{"data":[]}}},"included":[{"type":"users","id":"13691","attributes":{"username":"cjohnsonuk","displayName":"cjohnsonuk","avatarUrl":"https:\/\/forum.dokuwiki.org\/assets\/avatars\/hwafe9I245yHARzl.png","slug":"cjohnsonuk","joinTime":"2013-12-04T20:40:13+00:00","discussionCount":85,"commentCount":182,"canEdit":false,"canEditCredentials":false,"canEditGroups":false,"canDelete":false,"lastSeenAt":"2025-02-24T14:10:09+00:00","canSuspend":false,"canSpamblock":false,"canEditMasqueradeProfile":false,"blocksPd":false,"cannotBeDirectMessaged":false},"relationships":{"groups":{"data":[{"type":"groups","id":"3"}]},"bioFields":{"data":[{"type":"masquerade-answer","id":"1580"}]},"masqueradeAnswers":{"data":[{"type":"masquerade-answer","id":"1580"}]}}},{"type":"users","id":"52987","attributes":{"username":"Chris75","displayName":"Chris75","avatarUrl":null,"slug":"Chris75","joinTime":"2021-01-29T10:50:53+00:00","discussionCount":16,"commentCount":580,"canEdit":false,"canEditCredentials":false,"canEditGroups":false,"canDelete":false,"lastSeenAt":"2025-02-22T22:20:25+00:00","canSuspend":false,"canSpamblock":false,"canEditMasqueradeProfile":false,"blocksPd":false,"cannotBeDirectMessaged":false},"relationships":{"groups":{"data":[]},"bioFields":{"data":[{"type":"masquerade-answer","id":"3597"}]},"masqueradeAnswers":{"data":[{"type":"masquerade-answer","id":"3597"}]}}},{"type":"users","id":"5305","attributes":{"username":"aleksandr","displayName":"aleksandr","avatarUrl":"https:\/\/forum.dokuwiki.org\/assets\/avatars\/JLrAgNfEbsQRDapD.png","slug":"aleksandr"}},{"type":"posts","id":"95290","attributes":{"number":1,"createdAt":"2025-01-10T12:28:57+00:00","contentType":"comment","contentHtml":"\u003Cp\u003EI can see how to use struct data and the structtemplate to present each struct record as a row in a table but my struct records have many fields so I\u0027d like to present each record in a column instead. One way would be to create them using structtemplate with one record per row then transpose the table but I can\u0027t find a plugin to transpose a table in DW. The other would be to create the table from scratch in a column format.\u003C\/p\u003E\n\n\u003Cp\u003EUltimately I\u0027d like to combine this with the functionality of struct aggregation \u003Ccode\u003E---- struct filter ----\u003C\/code\u003E filters so that I can choose which records to show in the columns.\u003C\/p\u003E\n\n\u003Cp\u003EBefore I go looking at the code have I missed an extension that would provide this functionality?\u003C\/p\u003E","renderFailed":false,"canEdit":false,"canDelete":false,"canHide":false,"mentionedByCount":1,"canFlag":false,"isApproved":true,"canApprove":false,"canLike":false,"likesCount":0},"relationships":{"discussion":{"data":{"type":"discussions","id":"22791"}},"user":{"data":{"type":"users","id":"13691"}},"mentionedBy":{"data":[{"type":"posts","id":"95297"}]},"likes":{"data":[]}}},{"type":"posts","id":"95297","attributes":{"number":2,"createdAt":"2025-01-10T13:29:46+00:00","contentType":"comment","contentHtml":"\u003Cblockquote class=\u0022uncited\u0022\u003E\u003Cdiv\u003E\u003Cp\u003E\u003Ca href=\u0022https:\/\/forum.dokuwiki.org\/d\/22791\/1\u0022 class=\u0022PostMention\u0022 data-id=\u002295290\u0022\u003Ecjohnsonuk\u003C\/a\u003E I can\u0027t find a plugin to transpose a table in DW.\u003C\/p\u003E\u003C\/div\u003E\u003C\/blockquote\u003E\n\n\n\u003Cp\u003ETo transpose (invert, flip) your schema\u0027s table, copy following code into your \u003Ccode\u003E\/dokuwiki\/conf\/userscript.js\u003C\/code\u003E:\u003C\/p\u003E\n\n\u003Cpre\u003E\u003Ccode\u003EjQuery(\u0027div.structaggregation[data-schema=\u0022yourschema\u0022]\u0027).prepend(\u0027\u0026lt;p\u0026gt;\u0026lt;a class=\u0022flip button\u0022 href=\u0022#\u0022\u0026gt;\u21ba Turn table\u0026lt;\/a\u0026gt;\u0026lt;\/p\u0026gt;\u0027);\n\njQuery(\u0022a.flip\u0022).click(function(){\n jQuery(\u0027div.structaggregation[data-schema=\u0022yourschema\u0022] table\u0027).each(function() {\n var $table = jQuery(this);\n var $newrows = [];\n $table.find(\u0022tr\u0022).each(function(){\n var i = 0;\n jQuery(this).find(\u0022td, th\u0022).each(function(){\n i++;\n if ($newrows[i] === undefined) { $newrows[i] = jQuery(\u0022\u0026lt;tr\u0026gt;\u0026lt;\/tr\u0026gt;\u0022); }\n if (jQuery(this).is(\u0022th\u0022)) {\n $newrows[i].append(\u0022\u0026lt;th\u0026gt;\u0022 + this.innerHTML + \u0022\u0026lt;\/th\u0026gt;\u0022);\n } else {\n $newrows[i].append(\u0022\u0026lt;td\u0026gt;\u0022 + this.innerHTML + \u0022\u0026lt;\/td\u0026gt;\u0022);\n }\n });\n });\n $table.find(\u0022tr\u0022).remove();\n jQuery.each($newrows, function(){\n $table.append(this);\n });\n });\n return false;\n});\u003C\/code\u003E\u003Cscript async=\u0022\u0022 crossorigin=\u0022anonymous\u0022 data-hljs-style=\u0022github\u0022 integrity=\u0022sha384-ryUuFF+lg0ZHUA7DaXhvSekelOyHvqE2+5VtldjgFG+Y99aBpL8SNXEPubG6UTNv\u0022 src=\u0022https:\/\/cdn.jsdelivr.net\/gh\/s9e\/hljs-loader@1.0.32\/loader.min.js\u0022\u003E\u003C\/script\u003E\u003Cscript\u003E\n if(window.hljsLoader \u0026\u0026 !document.currentScript.parentNode.hasAttribute(\u0027data-s9e-livepreview-onupdate\u0027)) {\n window.hljsLoader.highlightBlocks(document.currentScript.parentNode);\n }\n \u003C\/script\u003E\u003C\/pre\u003E\n\n\u003Cp\u003EYou need to insert the name of your schema, where it says \u003Ccode\u003Eyourschema\u003C\/code\u003Ein the code in 2 places. Save your file. Close and restart your browser, and try it out. Cheers!\u003C\/p\u003E\n\n\u003Cp\u003E\u003Cstrong\u003ESource:\u003C\/strong\u003E \u003Ca href=\u0022https:\/\/stackoverflow.com\/questions\/6297591\/how-to-invert-transpose-the-rows-and-columns-of-an-html-table\u0022 rel=\u0022ugc nofollow\u0022\u003Ehttps:\/\/stackoverflow.com\/questions\/6297591\/how-to-invert-transpose-the-rows-and-columns-of-an-html-table\u003C\/a\u003E\u003C\/p\u003E","renderFailed":false,"mentionedByCount":0,"editedAt":"2025-01-10T13:51:23+00:00","canEdit":false,"canDelete":false,"canHide":false,"canFlag":false,"isApproved":true,"canApprove":false,"canLike":false,"likesCount":1},"relationships":{"user":{"data":{"type":"users","id":"52987"}},"discussion":{"data":{"type":"discussions","id":"22791"}},"editedUser":{"data":{"type":"users","id":"52987"}},"mentionedBy":{"data":[]},"likes":{"data":[{"type":"users","id":"5305"}]}}},{"type":"groups","id":"3","attributes":{"nameSingular":"Member","namePlural":"Members","color":null,"icon":null,"isHidden":0}},{"type":"masquerade-answer","id":"1580","attributes":{"user_id":13691,"content":"UK","field":{"name":"Location","description":"Where do you live?","required":false,"validation":"","prefix":"","icon":"fas fa-globe","sort":0,"deleted_at":null,"on_bio":true,"type":null},"fieldId":1}},{"type":"masquerade-answer","id":"3597","attributes":{"user_id":52987,"content":"Leipzig","field":{"name":"Location","description":"Where do you live?","required":false,"validation":"","prefix":"","icon":"fas fa-globe","sort":0,"deleted_at":null,"on_bio":true,"type":null},"fieldId":1}},{"type":"tags","id":"5","attributes":{"name":"Plugins","description":"How to install and use plugins","slug":"plugins","color":"#44B57C","backgroundUrl":null,"backgroundMode":null,"icon":"fas fa-puzzle-piece","discussionCount":3251,"position":2,"defaultSort":null,"isChild":true,"isHidden":false,"lastPostedAt":"2025-02-25T00:25:11+00:00","canStartDiscussion":false,"canAddToDiscussion":false},"relationships":{"parent":{"data":{"type":"tags","id":"33"}}}},{"type":"tags","id":"33","attributes":{"name":"Extensions\u2026","description":"How to adjust DokuWiki to your ideas","slug":"extensions","color":"","backgroundUrl":null,"backgroundMode":null,"icon":"fas fa-wrench","discussionCount":1490,"position":5,"defaultSort":null,"isChild":false,"isHidden":false,"lastPostedAt":"2025-02-25T00:25:11+00:00","canStartDiscussion":false,"canAddToDiscussion":false}},{"type":"tags","id":"19","attributes":{"name":"Plugin Wishlist","description":"Add and discuss new plugin ideas here","slug":"plugin-wishlist","color":"#44B57C","backgroundUrl":null,"backgroundMode":null,"icon":"fas fa-puzzle-piece","discussionCount":490,"position":3,"defaultSort":null,"isChild":true,"isHidden":false,"lastPostedAt":"2025-02-15T04:11:00+00:00","canStartDiscussion":false,"canAddToDiscussion":false},"relationships":{"parent":{"data":{"type":"tags","id":"33"}}}}]}}</script> <script> const data = JSON.parse(document.getElementById('flarum-json-payload').textContent); document.getElementById('flarum-loading').style.display = 'none'; try { flarum.core.app.load(data); flarum.core.app.bootExtensions(flarum.extensions); flarum.core.app.boot(); } catch (e) { var error = document.getElementById('flarum-loading-error'); error.innerHTML += document.getElementById('flarum-content').textContent; error.style.display = 'block'; throw e; } </script> </body> </html>

Pages: 1 2 3 4 5 6 7 8 9 10