was ist der beste weg, um felder mit display suite vorzuverarbeiten?
<p>ich verwende display suite mit drupal commerce) und muss einige felder in meiner produktanzeige vorverarbeiten. ich muss einige werte basierend auf bestimmten bedingungen ändern und einige umbrechen felder in einem markup. sollte ich einen hook schreiben, um die werte vorzuverarbeiten und zu ändern, und eine vorlage verwenden, um die felder in markup zu verpacken? wenn ja, welche vorlagendatei würde ich verwenden, weil ds = kommt mit ein paar vorlagen.</p>
<p>sie können ihr feld auf themenebene anpassen, indem sie die funktion <a href="https://api.drupal.org/api/drupal/modules!field!field.module/function/template\_preprocess\_field/7">template\_preprocess\_field ()</a> unter <code>template.php</code> verwenden.</p><p>sie können einen feldwert erhalten, indem sie das objekt <code>node</code> oder die werte <code>field</code> selbst abrufen. sie können so etwas tun, um den feldwert nach knotenobjekt abzurufen.</p><pre><code>function mytheme\_preprocess\_field(&amp;$vars) { //replace your theme name mytheme here. if ($node = menu\_get\_object()){ if($node-&gt;type == 'product\_display'){//use your product display name here. $vars['node'] = $node; $product\_id = $node-&gt;field\_product\_reference[language\_none][0]['product\_id'];//use your product ref field name here. $product = commerce\_product\_load($product\_id); $manufacturer = $product-&gt;field\_product\_manufacturer[language\_none][0]['value'];//use your field name of product type here. $final\_body\_label = "description by ".$manufacturer; //set body label for node from here itself. $node-&gt;content['body']['#label\_display'] = $final\_body\_label; //or set a variable to use it further. $$vars['manufacturer\_description'] = $final\_body\_label; } } </code></pre><p>außerdem können sie ihre standardvorlage für knoten oder seiten verwenden, wenn sie ihren anforderungen entspricht, oder sie können separate <code>tpl</code> für felder erstellen, die wie <code>field--field\_image.tpl.php</code> benannt werden, wobei <code>field\_image</code> ist der feldname ihres inhalts oder produkts.</p><p>sie erhalten standardmäßig <code>field.tpl</code> in $ <code>base\_path/modules/field/theme</code>.</p>
<p>ein standard-fortschrittsbalken und eine anzahl von karten wären wahrscheinlich ausreichend. ich bin jedoch der meinung, dass dies etwas ist, bei dem sie ein bisschen kreativ sein könnten: der effekt eines streudiagramms könnte nizza sein, sie könnten auch die neuesten pixel am hellsten machen und die älteren verblassen lassen.</p><p>wenn sie das generierte pixelplot in bezug auf die leistung speichern, sodass es nicht jedes mal berechnet werden muss, wenn es angezeigt wird, sollte dies wirklich kein problem sein. ich denke, ich würde nicht das canvas-tag verwenden, sondern ein vom server generiertes image. die aktualisierungsaktion selbst sollte nicht zu kompliziert sein: sie müssen nur das bild abrufen, das sie bereits haben, und das letzte update (oder aktualisierungen seit dem letzten rendern des bildes) abrufen und genau diese pixel ändern. wenn sie sie nach zeit verblassen möchten, verblassen sie zuerst das bereits vorhandene bild und fügen sie dann den neuesten zeitstempel der überblendungsaktion hinzu, sodass sie dies nur einmal am tag oder einmal pro stunde oder was auch immer tun. (sie können es auch bei jedem schritt tun.)</p><p>jetzt ist es weitaus komplexer als nötig, um nur fortschrittsinformationen bereitzustellen. aber es könnte eine sehr nette funktion sein und interessant zu bauen sein! und ich denke, es ist sehr machbar, es so zu implementieren, dass es ihre ressourcen nicht belastet.</p> <p>dies kann eine paginierung sein oder auch nicht, aber hier ist, wie ich paginierung in meiner web-app mache:</p><pre><code>|&lt; first, &lt;&lt; previous, page [5] of 12, next &gt;&gt;, last &gt;| </code></pre><p>die äußeren vier optionen sind links, während die <code>page [5] of 12</code> ist ein formular mit dem [5] als eingabefeld. für benutzer mit aktiviertem javascript verstecke ich die schaltfläche "senden" und sende das formular beim ereignis "unfokus" oder drücke den tastendruck. der benutzer hat die option, wie viele zeilen er anzeigen möchte, die er aus einem dropdown-menü auswählen kann: 10, 20, 50, 100, alle. zusätzlich zur paginierung biete ich auch das sortieren und filtern der ergebnisse an, obwohl dies möglicherweise nicht in jeder situation sinnvoll ist.</p><p><strong>bearbeiten</strong>:</p><p>hier ist ein ausschnitt aus einem modell unserer web-app, um ihnen eine bessere vorstellung zu geben. in dieser version wurden die wörter in den schaltflächen weggelassen, werden jedoch nach einer leichten verzögerung als tooltip beim hover angezeigt. möglicherweise stellen sie jedoch fest, dass das beibehalten der wörter zu einer höheren benutzerfreundlichkeit führt.</p><p><img src="https://i.stack.imgur.com/vzbu0.png" alt="virtuosi media&#39;s pagination example"></p><p>ein paar andere dinge, auf die sie hinweisen sollten:</p><ul> <li>die schaltflächen "erste" und "vorherige" wurden deaktiviert, da es sich um die erste seite handelt.</li> <li>das blau zeigt aktive schaltflächen an (ich muss dieses spezielle thema durch eine farbprüfung ausführen, um sicherzustellen, dass farbenblinde benutzer einen unterschied feststellen können).</li> <li>die tasten bleiben immer erhalten, auch wenn sie deaktiviert sind. dies gibt der schnittstelle konsistenz.</li> <li>aufgrund der skalierung habe ich ein eingabefeld anstelle eines dropdown-auswahlfelds ausgewählt. wenn sie 3000 seiten haben, möchten sie nicht nach unten scrollen, um eine seite zu finden</li> <li>die paginierung ist in einer singulären visuellen komponente gruppiert, um ähnlichkeit im zweck anzuzeigen.</li> </ul> Kein Problem. Wenn du die Filme bzw. die Kameras zum Entwickeln bringst gibt es auf den Auftragstüten z.B. bei DM-Drogerien die Möglichkeit "mit CD" anzukreuzen. Dann bekommst du mit den Fotos eine CD mit den Bildern. Die kannst du dann auf dem PC problemlos einlesen und kombinieren und neue CDs daraus erstellen. du kannst die entsprechenden listen im bereich „kalender“ anlegen, wenn du „material anziegen“ auswählst und einen entsprechenden filter speicherst.

dort findest du die entsprechenden optionen. so wie gewünscht, geht das ganz einfach = wenn die seitenummer auf seite 3 beginnen soll, dann so= auf die seite 2 mit dem curser gehn- dann -einfügen-manueller umbruch-seitenumbruch-vorlage - erste seite - seitennummer ändern-1 setzen - bestätigen- fertig, nun kann man deckblatt usw. bearbeiten. so nun ist die seite drei die erste seite= einfügen - fußzeile -standard- ok. einfügen-feldbefehl-seitennummer - ok. fertig. das geht natürlich so auch nach dem selbensystem mit der kopfzeile. mfg.m. gegenwärtig gibt es keine spezielle einstellung für das temperieren von schokolade mit dem cookit. wir empfehlen folgendes: der cookit bietet ein spezielles automatikprogramm zum schmelzen von schokolade und schokoladenüberzügen. allerdings ist zu beachten, dass die mindesteinstellung 37 °c beträgt. das bedeutet, der cookit ermöglicht keine genaue temperatursteuerung im bereich von 30 °c, was für die temperierung eigentlich erforderlich wäre. Du musst ein JPG-Bild einer gestrichelten Linie nach deinem Wunsch erstellen.  
Im Menü "Datenreihen formatieren" auf keine Linie und Fülling mit Bild aus Datei.


mit Strecken oder Stapeln kannst du noch feinjustieren. Bei mir schaut es so aus:


 ![]() hi andreas,

ich kenne den sch. mit pam nur zu gut, weil ich gerade versuche einen manjaroclient für die lmn7 zu bauen und genau da seit tagen hänge…das ist grausam. nun zu deinem problem noch ein paar gedanken/ideen:

welchen displaymanager benutzt du? benutzt du sddm? der ist bekannt dafür, mit … <p>wenn dies meine entwurfsentscheidung wäre, würde ich wahrscheinlich eher eine option c (modifizierte option a) wählen.</p><h3>erstens, warum nicht 'option b':</h3><p>zum einen gefällt mir die klarheit, dass jedes produkt seinen eigenen tisch hat. wenn es sich nur um eine große tabelle mit einem feld zur bestimmung des typs handelt, ist die beziehung nicht so klar.</p><p>zum anderen würde die indizierungsstrategie immer erfordern, dass dieses typfeld aufgelistet wird. da es sich nur um 4 typen handelt, ist die indexkardinalität extrem niedrig (<code>select * from product\_table where type='x'</code> führt im grunde sowieso einen vollständigen tabellenscan durch)</p><h3>option c.</h3><ul> <li>erstellen sie eine übergeordnete tabelle, die nur die spalten enthält, die alle typen gemeinsam nutzen</li> <li>erstellen sie jeden produkttyp als eigene tabelle mit ihren einzelnen spalten, mit einem zusätzlichen: ein link zur übergeordneten tabelle</li> <li>erstellen sie jede 'link'-tabelle: product\_option, model\_option usw. mit links zu den jeweiligen schlüsseln.</li> <li>für diejenigen mit wechselseitigen links (model\_option, option\_model) erstellen sie auch diese tabellen. dies erhöht die klarheit ihrer joins für alle, die sich das ansehen.</li> </ul><p>der nachteil ist die komplexität, sicherzustellen, dass waisen vermieden werden, wenn dinge aktualisiert/gelöscht werden, und zunächst die abfragen zu entwerfen, die diese tabellen verwenden.</p> <ol> <li> <p>wenn sie als unternehmen verkaufen, schützen sie ihr privatvermögen vor verärgerten kunden, wettbewerbern und allen anderen, die sie ausprobieren möchten</p> </li> <li> <p>der verkauf unter einem firmennamen hilft bei der entwicklung einer marke. richtiger name ist langweilig. überlegen sie sich etwas kreatives und machen sie den namen bekannt.</p> </li> <li> <p>abhängig von ihrem speziellen namen und seiner herkunft haben einige leute möglicherweise bestimmte negative assoziationen oder ideen und entscheiden, dass sie ihren namen einfach nicht mögen, um mit ihnen in irgendeiner weise geschäfte zu machen (geben ihnen möglicherweise nicht nur 0,99 usd oder nehmen sogar ihre app kostenlos). ein firmenname schützt sie vor phobischen menschen.</p> </li> <li> <p>mit einer marke erhalten sie anerkennung für ihre neuen apps. wenn sie eine andere "advanced notes" -app einwerfen, besteht eine gute chance, dass sie unbemerkt bleiben. wenn sie es "coolcomp notes" nennen, wird es ein interesse wecken, wenn ihr name mit großartigen apps verbunden ist.</p> </li> <li> <p>eine marke hilft ihnen dabei, ihre apps einfach und konsistent zu benennen. anstatt zu kämpfen, um einen weiteren namen für ihre nächste app wie "super notes", "personal finances plus" usw. zu erfinden, können sie sie einfach zu "coolcomp notes", "coolcomp finances" machen. viel einfacher und erstellt ein portfolio.</p> </li> <li> <p>eine marke ist später einfacher und zu einem höheren preis zu verkaufen als eine sammlung zufälliger apps von einem typen namens "joshua carmody".</p> </li> </ol>