# Methode überschreiben

**URL:** <https://forum.shopware.com/t/methode-uberschreiben/25590>\
**Category:** Shopware 3.5\
**Tags:** programming\
**Created:** [13. März 2015 um 09:49 UTC](https://forum.shopware.com/t/methode-uberschreiben/25590 "2015-03-13T09:49:08Z")\
**Posts on this page:** 6\
**Page:** 1

<div class="post-metadata">

**Author:** ![Paula\_Schneider](https://avatars.discourse-cdn.com/v4/letter/p/97f17d/32.png) [@Paula\_Schneider](https://forum.shopware.com/u/Paula_Schneider)\
**Post date:** [13. März 2015 um 09:49 UTC](https://forum.shopware.com/t/methode-uberschreiben/25590/1 "2015-03-13T09:49:08Z")

</div>

Hallo, ich möchte eine Methode in der untenstehenden Datei überschreiben: /templates/\_default/backend/order/view/list/document.js es handelt sich genauer gesagt um: /\*\* \* Columns renderer for the name column \* @param value \*/ nameColumn: function(value, metaData, record, rowIndex, colIndex, store, view) { var helper = new Ext.dom.Helper, display = ‘’, type = record.getDocType().first(); if (record.get(‘typeId’) === 4) { display = type.get(‘name’); } else { display = type.get(‘name’) + ’ ’ + Ext.String.leftPad(record.get(‘documentId’), 8, ‘0’); } var spec = { tag: ‘a’, html: display, href: ‘{url action=“openPdf”}?id=’ + record.get(‘hash’), target: ‘\_blank’ }; return helper.markup(spec); }, Ich möchte den Namen der angezeigten Datei in Abhängigkeit von ihrem Typ (ID) ändern und ich möchte es mit Hilfe von Override richtig machen. Ich weiß, dass die von mir erstellte Datei geladen wird, doch die ursprüngliche Methode wird nicht überschrieben. Habe ich die Datei richtig konfiguriert? Bitte um Hilfe! console.log(“ok!!”); /\*\* \* \* WAS MUSS GEÄNDERT WERDEN, DAMIT ES FUNKTIONIERT? \*/ /\*\* \* Shopware UI - Order list backend module \* \* The order document list \*/ //{block name=“backend/order/view/list/document” append} //{namespace name=“backend/article/swag\_article\_orders\_tab/view/list”} Ext.define(‘Shopware.apps.Order.view.swagArticleOrders.list.Document’, { /\*\* \* Defines an override applied to a class. \* @string \*/ override: ‘Shopware.apps.Order.view.list.Document’, /\*\* \* Columns renderer for the name column \* @param value \*/ nameColumn: function(value, metaData, record, rowIndex, colIndex, store, view) { var helper = new Ext.dom.Helper, display = ‘’, type = record.getDocType().first(); if (record.get(‘typeId’) === 4) { display = type.get(‘name’); } else { display = type.get(‘name’) + ’ ’ + Ext.String.leftPad(record.get(‘documentId’), 8, ‘0’); } var spec = { tag: ‘a’, html: display, href: ‘{url action=“openPdf”}?id=’ + record.get(‘hash’), target: ‘\_blank’ }; return helper.markup(spec); } }); //{/block} Vielen Dank für Ihre Antworten im Voraus!

---

<div class="post-metadata">

**Author:** ![Kerstin83](https://avatars.discourse-cdn.com/v4/letter/k/49beb7/32.png) [@Kerstin83](https://forum.shopware.com/u/Kerstin83)\
**Post date:** [13. März 2015 um 11:27 UTC](https://forum.shopware.com/t/methode-uberschreiben/25590/2 "2015-03-13T11:27:52Z")

</div>

Könntest du bitte einmal kurz formulieren, was du genau willst und was an dem bisherigen Code nicht funktioniert. Bin nicht ganz Schlau draus geworden. Liebe Grüße Kerstin

---

<div class="post-metadata">

**Author:** ![Paula\_Schneider](https://avatars.discourse-cdn.com/v4/letter/p/97f17d/32.png) [@Paula\_Schneider](https://forum.shopware.com/u/Paula_Schneider)\
**Post date:** [16. März 2015 um 10:49 UTC](https://forum.shopware.com/t/methode-uberschreiben/25590/3 "2015-03-16T10:49:29Z")

</div>

Hallo, ich schreibe ein Plugin und ich möchte die untenstehende Datei überschreiben: /templates/\_default/backend/order/view/list/document.js Genauer gesagt eine Methode in dieser Datei: nameColumn: function(value, metaData, record, rowIndex, colIndex, store, view) { var helper = new Ext.dom.Helper, display = ‘’, type = record.getDocType().first(); display = type.get(‘name’); /\* ich möchte, dass immer in Display der Dateiname steht \*/ var spec = { tag: ‘a’, html: display, href: ‘{url action=“openPdf”}?id=’ + record.get(‘hash’), target: ‘\_blank’ }; return helper.markup(spec); },

---

<div class="post-metadata">

**Author:** ![Kerstin83](https://avatars.discourse-cdn.com/v4/letter/k/49beb7/32.png) [@Kerstin83](https://forum.shopware.com/u/Kerstin83)\
**Post date:** [16. März 2015 um 12:22 UTC](https://forum.shopware.com/t/methode-uberschreiben/25590/4 "2015-03-16T12:22:20Z")

</div>

Für JavaScript gibt es hier kein Blocksystem, du müsstest also die ganze Datei überschreiben.

---

<div class="post-metadata">

**Author:** ![Paula\_Schneider](https://avatars.discourse-cdn.com/v4/letter/p/97f17d/32.png) [@Paula\_Schneider](https://forum.shopware.com/u/Paula_Schneider)\
**Post date:** [16. März 2015 um 14:03 UTC](https://forum.shopware.com/t/methode-uberschreiben/25590/5 "2015-03-16T14:03:16Z")

</div>

Danke, Was meinst Du dadurch? Soll man die ganze Datei kopieren und einfügen oder wie?

---

<div class="post-metadata">

**Author:** ![DanielNogel](https://avatars.discourse-cdn.com/v4/letter/d/96bed5/32.png) [@DanielNogel](https://forum.shopware.com/u/DanielNogel)\
**Post date:** [16. März 2015 um 14:29 UTC](https://forum.shopware.com/t/methode-uberschreiben/25590/6 "2015-03-16T14:29:08Z")

</div>

Hi, im Backend gibt es eine Kombination aus Smarty-Blöcken und ExtJS-Overrides: In deinem Fall musst du den Smarty-Block backend/order/view/list/document erweitern und einen Override auf die ExtJS-Klasse Shopware.apps.Order.view.list.Document definieren. Da kannst du dann gezielt einzelne Methoden überschreiben. Gezeigt ist das beispielsweise hier im Wiki: [http://wiki.shopware.com/Schuhgr%C3%B6% … undenliste](http://wiki.shopware.com/Schuhgr%C3%B6%C3%9Fen-Erweiterung%5C_detail%5C_1052.html#Erweiterung%5C_der%5C_Kundenliste) Auch im Backend gibt es also ein Erweiterungssystem, so dass das Komplette Ersetzen von Dateien nicht nötig ist. Besten Gruß, Daniel
