Tipps & Tricks
[gelöst]Form API Wert aus select bestimmt wie oft eine Liste von Radios angezeigt wird.
Eingetragen von tiger (415) am 15.05.2013 - 13:45 Uhr inIch habe ein Formular mit einem Select Anzahl dieser bestimmt wie oft das Feld Auswahl angezeigt werden soll.
Das Feld Auswahl ist Integer Feld mit den Optionen Rot, Blau, Grün und lässt unbegrenzt viele Werte zu.
[HOWTO] Drupal Commerce Kickstart 2.0 installieren
Eingetragen von torfnase (1525) am 14.05.2013 - 12:22 Uhr inHallo zusammen,
in dieser Videoreihe widme ich mich ganz dem Thema Drupal Commerce.
Migrate csv to Drupal 6
Eingetragen von Dolce (6) am 10.05.2013 - 12:42 Uhr inHallo Drupalisten
Eigentlich komme ich aus der DotNet Ecke, darf aber neu Projekte in Drupal, IOS etc. entwickeln :-). Dies ist sehr spannend und leider zeigt die Lernkurve zu Beginn deutlich nach oben.
Teilprojekt Beschrieb:
Ich darf einen .csv Import to Drupal mit dem Migrate Modul Realisieren. Dieser Import wird pro Jahr etwa 1mio. Datensätze einlesen und nach Drupal migrieren. Soweit so gut.
Alle Columns aus dem .csv File sind als einzelne Taxonomien in Drupal 6.x angelegt und dem richtigen Inhaltstyp zugeordnet worden. Auf den Taxonomien sind die Tags aktiviert und es handelt sich bei allen Taxonomien um Pflichtfelder.
Der XDebug läuft, wie erwartet, durch die Implementierten Methoden.
Alle …_csv Columns enthalten die erwarteten Werte, wenn ich den Breakpoint bei „return true“ in der Funktion prepareRow($row) setzte.
Nun zu meinem Problem:
Interessant ist nun dass das mapping nur bei den Columns „Quelle Buchung“ und „Quelle Versicherung“ funktioniert und mir unter Inhalt die importierten Datensätze anzeigt. Die restlichen Spalten werden mit Leerstring befüllt. Sprich das mapping funktioniert nicht korrekt (einige Spalten werde importiert andere nicht (Gleicher Fehler in Englisch nur in MigrateDestinationTrem und nicht MigrateDestinationNode angewandt: )). Hat mir wer einen Tipp? Rechtschreibung bei dem Taxonomienamen sowie dem Taxonomi-Maschin_Name zum PHP-Code wurden bereits überprüft.
<?php
/**
* There are four essential components to set up in your constructor:
* $this->source - An instance of a class derived from MigrateSource, this
* will feed data to the migration.
* $this->destination - An instance of a class derived from MigrateDestination,
* this will receive data that originated from the source and has been mapped
* by the Migration class, and create Drupal objects.
* $this->map - An instance of a class derived from MigrateMap, this will keep
* track of which source items have been imported and what destination objects
* they map to.
* Mappings - Use $this->addFieldMapping to tell the Migration class what source
* fields correspond to what destination fields, and additional information
* associated with the mappings.
*/
class VersicherungsfaktenTermMigration extends Migration {
public function __construct() {
// Process initialization and include it in the my_migrate group
parent::__construct(); //MigrateGroup::getInstance('migrate_versicherungsfakten')
// Give a description to this process
$this->description = t('Import FINMA data to content type Versicherungsfakten');
// Add custom columns because 8,9,10 and 11 not exists in source cvs
$columns = array(
// 0 => array('Bereich_csv', 'Bereich'),
// 1 => array('Sitzland_csv', 'Sitzland'),
// 2 => array('VersichererName_csv', 'VersichererName'),
// 3 => array('QuelleAkro_csv', 'QuelleAkro'),
// 4 => array('KennzahlAkro_csv', 'KennzahlAkro'),
// 5 => array('KennzahlName_csv', 'KennzahlName'),
// 6 => array('Jahr_csv', 'Jahr'),
// 7 => array('Wert_csv', 'Wert'),
// 8 => array('VersichererGesellschaft_csv', 'VersichererGesellschaft'),
// 9 => array('QuelleSparte_csv', 'QuelleSparte'),
// 10 => array('QuelleBuchung_csv', 'QuelleBuchung'),
// 11 => array('QuelleVersicherung_csv', 'QuelleVersicherung')
array('Id_csv', 'Id'), // Integer
array('Bereich_csv', 'Bereich'),
array('Sitzland_csv', 'Sitzland'),
array('VersichererName_csv', 'VersichererName'),
array('QuelleAkro_csv', 'QuelleAkro'),
array('KennzahlAkro_csv', 'KennzahlAkro'),
array('KennzahlName_csv', 'KennzahlName'),
array('Jahr_csv', 'Jahr'),
array('Wert_csv', 'Wert'), // Integer
array('VersichererGesellschaft_csv', 'VersichererGesellschaft'),
array('QuelleSparte_csv', 'QuelleSparte'),
array('QuelleBuchung_csv', 'QuelleBuchung'),
array('QuelleVersicherung_csv', 'QuelleVersicherung'),
);
$this->source = new MigrateSourceCSV(file_directory_path() . '/finma_import/FINMA_Basisdaten2010.csv',
$columns,
array(
'delimiter' => ';',
'header_rows' => 1
)
);
// Set up our destination content type
$this->destination = new MigrateDestinationNode("versicherungsfakten");
//$this->destination = new MigrateDestinationTerm("versicherungsfakten");
$this->map = new MigrateSQLMap($this->machineName,
array(
'Id_csv' => array( // this field is used to connect user und profile2
'type' => 'int'
)
),
MigrateDestinationNode::getKeySchema()
//MigrateDestinationTerm::getKeySchema()
);
// Assign mappings TO destination fields FROM source fields. To discover
// the names used in these calls, use the drush commands
// drush migrate-fields-destination VersicherungsfaktenTerm
// drush migrate-fields-source VersicherungsfaktenTerm
$this->addFieldMapping('Bereich', 'Bereich');
$this->addFieldMapping('Sitzland', 'Sitzland_csv');
$this->addFieldMapping('Versicherer Name', 'VersichererName_csv');
$this->addFieldMapping('Quelle Akro', 'QuelleAkro_csv');
$this->addFieldMapping('Kennzahl Akro', 'KennzahlAkro_csv');
$this->addFieldMapping('Kennzahl Name', 'KennzahlName_csv');
$this->addFieldMapping('Jahr', 'Jahr_csv');
$this->addFieldMapping('Wert', 'Wert_csv');
$this->addFieldMapping('Versicherer Gesellschaft', 'VersichererGesellschaft_csv');
$this->addFieldMapping('Quelle Sparte', 'QuelleSparte_csv');
$this->addFieldMapping('Quelle Buchung', 'QuelleBuchung_csv');
$this->addFieldMapping('Quelle Versicherung', 'QuelleVersicherung_csv');
}
/**
* The function prepareRow cant be overwrited in order to do some custom
* processing when the source data has been read. The $row object contains
* the field values of the current row being processed.
*
* In our case we use it to process the special mappings for the images,
* gallery and documents fields. To achive this we have defined a custom
* that we call for each field of type image or file.
*/
public function prepareRow($row) {
$this->splitQuelleAkroToQuelleDefinition($row);
//$new = $this->getFieldMappings($row->Bereich_csv); // = 'HaHa blabla';
//print $new;
//$this->node->nid = 432309;
return true;
}
private function splitQuelleAkroToQuelleDefinition($row) {
switch ($row->QuelleAkro_csv) {
case 'AL16F':
$row->QuelleSparte_csv = 'NaNa';
$row->QuelleBuchung_csv = 'Versicherte Summen und Renten';
$row->QuelleVersicherung_csv = 'Lebensversicherung';
$row->VersichererGesellschaft_csv = 'AXA';
break;
case 'AS02B':
$row->QuelleSparte_csv = 'HUHU';
$row->QuelleBuchung_csv = 'Versicherte Summen und Renten';
$row->QuelleVersicherung_csv = 'Lebensversicherung';
$row->VersichererGesellschaft_csv = 'AXA';
break;
default:
$row->QuelleSparte = 'Nein';
$row->QuelleBuchung = 'Nein';
$row->QuelleVersicherung = 'Nein';
$row->VersichererGesellschaft_csv = 'Nein';
}
}
}
?>
Technische Eckdaten:
Drupal 6.x
phpStorm als Entwicklungsumgebung (auf Windows 7)
Code Files auf VMware Linux Ubuntu gespeichert und via Netzlaufwerk unter Windows in phpStorm bearbeitet.
Mein erstelltes Modul ist vom CCK Modul abgeleitet.
Gruss und danke für euer Tipps....
Dolce
[HOWTO] pixelgenaues Vermessen von Objekten auf einer Seite
Eingetragen von torfnase (1525) am 06.05.2013 - 11:32 Uhr inHallo zusammen,
wer kennt das nicht. Die Designvorlage soll pixelgenau umgesetzt werden.
D.h. nachdem man ein Element auf der Seite per CSS positioniert hat, macht man am besten einen Screenshot von dem Ergebnis und vergrößert diesen in einem Bildbearbeitungsprogramm, damit man auch die Möglichkeit hat, Abstände auszumessen.
- Anmelden oder Registrieren um Kommentare zu schreiben
- Weiterlesen
[gelöst] Node Autor während des Speicherns ändern
Eingetragen von tobi-berlin (857) am 30.04.2013 - 10:31 Uhr inHallo zusammen,
Rules Problem vergabe nur einmal pro vote (GELÖST)
Eingetragen von aloemann (133) am 18.04.2013 - 07:05 Uhr inMorjen morjen
Jetzt ärgere ich mich schon 2 Stunden herum und finde bei Google auch nix also ...
[gelöst]Besucherzäher einbinden PHP Web Stat
Eingetragen von wormserdarter (10) am 16.04.2013 - 17:10 Uhr inHallo,
hab auf meiner alten, nicht Drupal Seite. den PHP Web Stat Besucherzähler. den möchte ich auch bei meiner Drupal seite einbauen.
Den Counter einbauen funktioniert prima. Aber wie baue ich den folgen script ein? Er soll in der HTML Seite oben in den Header. Wo ist das in Drupal?
<script type="text/javascript" src="http://www.xxxx.de/stat/track.php?mode=js"></script>
<noscript><img src="http://www.xxxx.de/stat/track.php?mode=img" border="0" alt="" width="1" height="1"></noscript>)
oder mit PHP:
"
<?php
//------------------------------------------------------------------------------
if ( strpos ( strtolower ( $_SERVER [ "PHP_SELF" ] ) , "tracking_code.php" ) > 0 )
{
echo '
<script type="text/javascript" src="http://www.xxx.de/stat/track.php?mode=js"></script>
<noscript><img src="http://www.xxx.de/stat/track.php?mode=img" border="0" alt="" width="1" height="1"></noscript>
';
}
//------------------------------------------------------------------------------"
?>
Hat einer eine Idee?
Alt-Attribut Bildbeschreibung oder Title von Node
Eingetragen von artweb (443) am 05.04.2013 - 10:35 Uhr inLiebe Drupal Gemeinde,
bräuchte wieder mal ein Tipp wie ich das Problem lösen könnte!
Es geht um das Alt-Attribut bei der Bildbeschreibung und zwar müsste ich bei bestehenden Inhalt von ca. 4000 Seiten das Alt-Attribut hinzufügen und wenn keine Bildbeschreibung dann "title" von der Seite als Alt-Attribut und wenn eine Bildbeschreibung dann die Bildbeschreibung.
[gelöst] Nachricht im Usermenue anzeigen lassen
Eingetragen von Jean Pierre (5) am 31.03.2013 - 12:59 Uhr inHallo Forum,
[gelöst] Alter berechnen mit Drupal 7 und Computed Field
Eingetragen von Renardo (60) am 09.03.2013 - 09:59 Uhr inIch hatte unter Drupal 6 mit folgenden Code das Alter einer Person berechnet. Hierfür verwendete ich das CCK-Feld: field_geboren_am
Neue Kommentare
vor 3 Tagen 4 Stunden
vor 3 Tagen 7 Stunden
vor 3 Tagen 7 Stunden
vor 3 Tagen 7 Stunden
vor 4 Tagen 4 Stunden
vor 4 Tagen 6 Stunden
vor 5 Tagen 3 Stunden
vor 5 Tagen 20 Stunden
vor 5 Tagen 21 Stunden
vor 6 Tagen 1 Stunde