Jump to content

iNoize

Members
  • Posts

    165
  • Joined

  • Last visited

Everything posted by iNoize

  1. It works if I install the language, I have problem to switch the default language for the guest user in the 2.5.4 dev Version. ? Any Ideas how I can switch the defaukt language to German ? < Thanks
  2. Ok, I understnad now better how to handle the Date. One thing what I need is how to add all new Page arrays to one array ? I get in a loop all arrays(OBJECTS) from the file how can I create a new array $archiveData ? for ($ni=1; $ni<=$azi; $ni++) { $idata = $opfile->GetOneImmo( $ni, $xinfo); $archiveData->add($idata); }
  3. So I have nome some functions which extract the uploadet archive and put the data in an array. Next steps are to make an button or an module ? To start the functions for the archive? What would you do ??
  4. I tried the solfe this problem by myself and it works for me. Maybe i forgot something but Im sure that this is an nice and useful little update for your module. so I changed two files /site/modules/FieldtypeCropImage/InputfieldCropImage/InputfieldCropImage.js $(document).ready(function() { $("a.crop").live("hover", function(e) { if( e.type === 'mouseover' || e.type === 'mouseenter') { url = $(this).data('thumburl') + "?timestamp=" + new Date().getTime(); $(this).append("<img style='position: absolute; z-index: 999;' src="+url+" />"); } else { $(this).find("img").remove(); } }); // Grid Configurations function setGridMode($parent) { $parent.find("i.fa-th").replaceWith($("<i class='fa fa-list'></i>")); $parent.find(".InputfieldFileLink").each(function() { var $a = $(this); var $img = $a.children("img"); $a.css('background', '#000 url(' + $img.attr('src') + ') center center no-repeat'); if($img.width() > 99 && $img.height() > 99) $a.css('background-size', 'cover'); }); $parent.addClass('InputfieldImageGrid'); } function unsetGridMode($parent) { $parent.removeClass('InputfieldImageGrid'); $parent.find(".InputfieldFileLink").css('background', 'none'); $parent.find("i.fa-list").replaceWith($("<i class='fa fa-th'></i>")); } var $listToggle = $("<a class='InputfieldImageListToggle HideIfSingle HideIfEmpty' href='#'></a>") .append("<i class='fa fa-th'></i>"); $(".InputfieldCropImage .InputfieldHeader").append($listToggle); $(document).on('click', '.InputfieldImageListToggle', function() { var $parent = $(this).parents(".InputfieldCropImage"); if($parent.hasClass('InputfieldImageGrid')) unsetGridMode($parent); else setGridMode($parent); return false; }); $(".InputfieldCropImage").find(".InputfieldImageDefaultGrid").each(function() { setGridMode($(this).parents(".InputfieldCropImage")); }); $(".InputfieldCropImage .InputfieldFileList").live('AjaxUploadDone', function() { $("a.InputfieldFileLink", $(this)).fancybox(); // NEW Check for default Settings for Image View var $parent = $(this).parents('.InputfieldGridImage'); if($parent.is(".InputfieldImageGrid")) setGridMode($parent); }); }); and /site/modules/FieldtypeCropImage/InputfieldCropImage/InputfieldCropImage.css .crops { border-top: 0; overflow: hidden; padding: 1em; margin-right: 5px; } .crops p { margin: 0 0 0.5em 0; } .crops a { display: block; float: left; margin-right: 10px; } .crops a img { background: white; margin: 0; padding: 10px; box-shadow: 2px 2px 5px #333; max-width: 100%; } .InputfieldCropImage .InputfieldFileData { margin-bottom: 0; } /** * Grid mode icon fixes * */ .InputfieldCropImage .InputfieldHeader .InputfieldImageListToggle { float: right; padding-right: 1em; position: relative; } .InputfieldStateCollapsed .InputfieldHeader .InputfieldImageListToggle { display: none; }
  5. Its specific to the AdminCustomPages , I've tried self to adjust the them but it doesnt really works. If im right then : I can insert my own code in the AdminCustomTheme template. For example I try to write currently an Real Estate XML import. So I can start the import from the AdminCustomPage ? Maybe on Press "Import Button" or something like this ?
  6. how do I adjust now the current admin theme to the module ?
  7. How do i figure the array then? I have a script which converts the XML to array. Then i have to import from array to my fields. Examplecode for this pages ??
  8. Thanks for your answer. The same was in my mind but I wasnt sure. I would create for every multiple field pages. Like in the SkyScraper demo the Architects. ? Themplates without files and only with Name as placeholder.
  9. Which Variables I have to use for arrays ? Example if an Value can have more true or false values ? <boden FLIESEN="0" STEIN="0" TEPPICH="1" PARKETT="1" FERTIGPARKETT="0" LAMINAT="0" DIELEN="0" KUNSTSTOFF="1" ESTRICH="1" DOPPELBODEN="1" LINOLEUM="1" MARMOR="1" TERRAKOTTA="1" GRANIT="0"/> Should I use something like reperater or Filedtype select ? What would you do in this case ??
  10. Hello and thank you for your answer. I think in this case I will try to handle it with an XML file. I will try to read all the necessary data to an array and fill the placeholder in the template. Dont know really know howto but I will post my example here soon with the questions. Have to read some tuts at first. EDIT: So i need some theory. I plan to start in this way. Please correct if Im wrong. I have this file as XML. <?xml version="1.0" encoding="iso-8859-1"?> <!-- OpenImmo $VERSION: 1.2.6 10/2013 (c) OpenImmo e.V. Beispiel Daten zur Version 1.2.6 --> <openimmo> <uebertragung art="ONLINE" umfang="VOLL" modus="NEW" version="1.2.6" sendersoftware="OIGEN" senderversion="0.9" techn_email="" timestamp="2013-10-01T10:00:00" regi_id="ABCD13" /> <anbieter> <anbieternr /> <firma >Mustermann Immobilien</firma > <openimmo_anid /> <lizenzkennung>ABCD13</lizenzkennung> <anhang location="EXTERN" gruppe="BILD"> <anhangtitel /> <format /> <daten> <pfad /> </daten> </anhang> <immobilie> <objektkategorie> <nutzungsart WOHNEN="true" GEWERBE="false" ANLAGE="false" WAZ="false" /> <vermarktungsart KAUF="true" MIETE_PACHT="false" ERBPACHT="false" LEASING="false" /> <objektart> <zimmer zimmertyp="ZIMMER" /> <objektart_zusatz>Moebeliert</objektart_zusatz> </objektart> <user_defined_simplefield feldname="" /> <user_defined_anyfield /> </objektkategorie> <geo> <plz /> <ort /> <geokoordinaten breitengrad="22.22" laengengrad="22.22" /> <strasse /> <hausnummer /> <bundesland /> <land iso_land="DEU" /> <gemeindecode /> <flur /> <flurstueck /> <gemarkung /> <etage>1</etage> <anzahl_etagen>1</anzahl_etagen> <lage_im_bau LINKS="false" RECHTS="true" VORNE="true" HINTEN="false" /> <wohnungsnr /> <lage_gebiet gebiete="NEBENZENTRUM" /> <regionaler_zusatz /> <user_defined_simplefield feldname="" /> <user_defined_anyfield /> <user_defined_extend /> </geo> <kontaktperson> <email_zentrale>foo@bar.de</email_zentrale> <email_direkt>foo@bar.de</email_direkt> <tel_zentrale>1</tel_zentrale> <tel_durchw>2</tel_durchw> <tel_fax>3</tel_fax> <tel_handy>4</tel_handy> <name /> <vorname /> <titel /> <anrede /> <anrede_brief /> <firma /> <zusatzfeld /> <strasse /> <hausnummer /> <plz /> <ort /> <postfach /> <postf_plz /> <postf_ort /> <land iso_land="DEU" /> <email_privat>foo@bar.de</email_privat> <email_sonstige emailart="EM_DIREKT" bemerkung="1">foo@bar.de</email_sonstige> <email_feedback>yx@y.de</email_feedback> <tel_privat>1</tel_privat> <tel_sonstige telefonart="TEL_PRIVAT" bemerkung="">1</tel_sonstige> <url /> <adressfreigabe>false</adressfreigabe> <personennummer /> <foto location="EXTERN" > <format>JPEG</format> <daten> <pfad >abc.jpg</pfad > </daten> </foto> <freitextfeld /> <user_defined_simplefield feldname="" /> <user_defined_anyfield /> <user_defined_extend /> </kontaktperson> <weitere_adresse adressart=""> <vorname /> <name /> <titel /> <anrede /> <anrede_brief /> <firma /> <zusatzfeld /> <strasse /> <hausnummer /> <plz /> <ort /> <postfach /> <postf_plz /> <postf_ort /> <land iso_land="DEU" /> <email_zentrale>foo@bar.de</email_zentrale> <email_direkt>foo@bar.de</email_direkt> <email_privat>foo@bar.de</email_privat> <email_sonstige emailart="EM_PRIVAT" bemerkung="">1</email_sonstige> <tel_durchw>1</tel_durchw> <tel_zentrale>1</tel_zentrale> <tel_handy>1</tel_handy> <tel_fax>1</tel_fax> <tel_privat>1</tel_privat> <tel_sonstige telefonart="TEL_DURCHW" bemerkung="">1</tel_sonstige> <url /> <adressfreigabe>false</adressfreigabe> <personennummer /> <freitextfeld /> <user_defined_simplefield feldname="" /> <user_defined_anyfield /> <user_defined_extend /> </weitere_adresse> <preise> <kaufpreis>1</kaufpreis> <nettokaltmiete>1</nettokaltmiete> <kaltmiete>1</kaltmiete> <warmmiete>1</warmmiete> <nebenkosten>1</nebenkosten> <heizkosten_enthalten>false</heizkosten_enthalten> <heizkosten>1</heizkosten> <zzg_mehrwertsteuer>true</zzg_mehrwertsteuer> <mietzuschlaege>1</mietzuschlaege> <!-- $V126 --> <hauptmietzinsnetto hauptmietzinsust="106.40">560.00</hauptmietzinsnetto> <betriebskostennetto betriebskostenust="106.40">560.00</betriebskostennetto> <!-- /$V126 --> <pacht>1</pacht> <erbpacht>1</erbpacht> <hausgeld>1</hausgeld> <abstand>1</abstand> <preis_zeitraum_von>2001-01-01</preis_zeitraum_von> <preis_zeitraum_bis>2001-01-01</preis_zeitraum_bis> <preis_zeiteinheit zeiteinheit="JAHR"/> <mietpreis_pro_qm>1</mietpreis_pro_qm> <kaufpreis_pro_qm>1</kaufpreis_pro_qm> <provisionspflichtig>true</provisionspflichtig> <innen_courtage mit_mwst="false" /> <aussen_courtage mit_mwst="false" /> <courtage_hinweis>String</courtage_hinweis> <waehrung iso_waehrung="DEM" /> <mwst_satz>1</mwst_satz> <mwst_gesamt>500.00</mwst_gesamt> <freitext_preis /> <x_fache /> <nettorendite>10</nettorendite> <nettorendite_soll>10</nettorendite_soll> <nettorendite_ist>10</nettorendite_ist> <mieteinnahmen_ist periode="JAHR">1</mieteinnahmen_ist> <mieteinnahmen_soll periode="JAHR">1</mieteinnahmen_soll> <erschliessungskosten>1</erschliessungskosten> <kaution>1</kaution> <kaution_text>3 monate</kaution_text> <geschaeftsguthaben>1</geschaeftsguthaben> <stp_carport stellplatzmiete="1" stellplatzkaufpreis="1" anzahl="1" /> <stp_duplex stellplatzmiete="1" stellplatzkaufpreis="1" anzahl="1" /> <stp_freiplatz stellplatzmiete="1" stellplatzkaufpreis="1" anzahl="1" /> <stp_garage stellplatzmiete="1" stellplatzkaufpreis="1" anzahl="1" /> <stp_parkhaus stellplatzmiete="1" stellplatzkaufpreis="1" anzahl="1" /> <stp_tiefgarage stellplatzmiete="1" stellplatzkaufpreis="1" anzahl="1" /> <stp_sonstige stellplatzmiete="1" stellplatzkaufpreis="1" anzahl="1" platzart="CARPORT" bemerkung="" /> <user_defined_simplefield feldname="" /> <user_defined_anyfield /> <user_defined_extend> <feld> <name /> <wert /> <typ /> <modus /> </feld> </user_defined_extend> </preise> <bieterverfahren> <beginn_angebotsphase>2001-01-01</beginn_angebotsphase> <besichtigungstermin>2001-01-01</besichtigungstermin> <besichtigungstermin_2>2001-01-01</besichtigungstermin_2> <hoechstgebot_zeigen>false</hoechstgebot_zeigen> <mindestpreis>1</mindestpreis> <user_defined_simplefield feldname="" /> <user_defined_anyfield /> <user_defined_extend> <feld> <name /> <wert /> <typ /> <modus /> </feld> </user_defined_extend> </bieterverfahren> <versteigerung> <zwangsversteigerung>true</zwangsversteigerung> <aktenzeichen>abc123</aktenzeichen> <zvtermin>2001-01-01T11:00:00</zvtermin> <zusatztermin>2001-01-01T11:00:00</zusatztermin> <amtsgericht>Stadt</amtsgericht> </versteigerung> <flaechen> <wohnflaeche>1</wohnflaeche> <nutzflaeche>1</nutzflaeche> <gesamtflaeche>1</gesamtflaeche> <ladenflaeche>1</ladenflaeche> <lagerflaeche>1</lagerflaeche> <verkaufsflaeche>1</verkaufsflaeche> <freiflaeche>1</freiflaeche> <bueroflaeche>1</bueroflaeche> <bueroteilflaeche>1</bueroteilflaeche> <fensterfront>1</fensterfront> <verwaltungsflaeche>1</verwaltungsflaeche> <gastroflaeche>1</gastroflaeche> <grz>1</grz> <gfz>1</gfz> <bmz>1</bmz> <bgf>1</bgf> <grundstuecksflaeche>1</grundstuecksflaeche> <sonstflaeche>1</sonstflaeche> <anzahl_zimmer>1</anzahl_zimmer> <anzahl_schlafzimmer>1</anzahl_schlafzimmer> <anzahl_badezimmer>1</anzahl_badezimmer> <anzahl_sep_wc>1</anzahl_sep_wc> <!-- ab 124 nicht mehr <anzahl_balkon_terrassen>2</anzahl_balkon_terrassen> --> <anzahl_balkone>1</anzahl_balkone> <anzahl_terrassen>1</anzahl_terrassen> <balkon_terrasse_flaeche>30</balkon_terrasse_flaeche> <anzahl_wohn_schlafzimmer>1</anzahl_wohn_schlafzimmer> <gartenflaeche>1</gartenflaeche> <kellerflaeche>1</kellerflaeche> <fensterfront_qm>1</fensterfront_qm> <grundstuecksfront>1</grundstuecksfront> <dachbodenflaeche>1</dachbodenflaeche> <teilbar_ab>1</teilbar_ab> <beheizbare_flaeche>1</beheizbare_flaeche> <anzahl_stellplaetze>1</anzahl_stellplaetze> <plaetze_gastraum>1</plaetze_gastraum> <anzahl_betten>1</anzahl_betten> <anzahl_tagungsraeume>1</anzahl_tagungsraeume> <vermietbare_flaeche>1</vermietbare_flaeche> <anzahl_wohneinheiten>1</anzahl_wohneinheiten> <anzahl_gewerbeeinheiten>1</anzahl_gewerbeeinheiten> <einliegerwohnung>1</einliegerwohnung> <user_defined_simplefield feldname="" /> <user_defined_anyfield /> <user_defined_extend> <feld> <name /> <wert /> <typ /> <modus /> </feld> </user_defined_extend> </flaechen> <ausstattung> <ausstatt_kategorie>STANDARD</ausstatt_kategorie> <wg_geeignet>false</wg_geeignet> <raeume_veraenderbar>false</raeume_veraenderbar> <bad DUSCHE="1" WANNE="1" FENSTER="1" BIDET="1" PISSOIR="1" /> <kueche EBK="1" OFFEN="1" PANTRY="1" /> <boden FLIESEN="0" STEIN="0" TEPPICH="1" PARKETT="1" FERTIGPARKETT="0" LAMINAT="0" DIELEN="0" KUNSTSTOFF="1" ESTRICH="1" DOPPELBODEN="1" LINOLEUM="1" MARMOR="1" TERRAKOTTA="1" GRANIT="0"/> <kamin>1</kamin> <heizungsart OFEN="1" ETAGE="1" ZENTRAL="1" FERN="1" FUSSBODEN="1" /> <befeuerung OEL="1" GAS="1" ELEKTRO="1" ALTERNATIV="1" SOLAR="1" ERDWAERME="1" LUFTWP="1" FERN="1" BLOCK="1" WASSER-ELEKTRO="1" PELLET="1" /> <klimatisiert>1</klimatisiert> <fahrstuhl PERSONEN="1" LASTEN="1" /> <stellplatzart GARAGE="1" TIEFGARAGE="1" CARPORT="1" FREIPLATZ="1" PARKHAUS="1" DUPLEX="1" /> <gartennutzung>1</gartennutzung> <ausricht_balkon_terrasse NORD="1" OST="1" SUED="1" WEST="1" NORDOST="1" NORDWEST="1" SUEDOST="1" SUEDWEST="1" /> <moebliert moeb="TEIL" /> <rollstuhlgerecht>false</rollstuhlgerecht> <kabel_sat_tv>false</kabel_sat_tv> <barrierefrei>false</barrierefrei> <sauna>false</sauna> <swimmingpool>false</swimmingpool> <wasch_trockenraum>false</wasch_trockenraum> <wintergarten>false</wintergarten> <dv_verkabelung>false</dv_verkabelung> <rampe>false</rampe> <hebebuehne>false</hebebuehne> <kran>false</kran> <gastterrasse>false</gastterrasse> <stromanschlusswert /> <kantine_cafeteria>false</kantine_cafeteria> <teekueche>false</teekueche> <hallenhoehe /> <angeschl_gastronomie HOTELRESTAURANT="false" BAR="false" /> <brauereibindung>false</brauereibindung> <sporteinrichtungen>false</sporteinrichtungen> <wellnessbereich>false</wellnessbereich> <serviceleistungen BETREUTES_WOHNEN="false" CATERING="false" REINIGUNG="false" EINKAUF="false" WACHDIENST="false" /> <telefon_ferienimmobilie>false</telefon_ferienimmobilie> <sicherheitstechnik ALARMANLAGE="false" KAMERA="false" POLIZEIRUF="false" /> <unterkellert keller="JA" /> <abstellraum>false</abstellraum> <fahrradraum>false</fahrradraum> <rolladen>false</rolladen> <dachform KRUEPPELWALMDACH="1" MANSARDDACH="1" PULTDACH="1" SATTELDACH="1" WALMDACH="1" FLACHDACH="1" PYRAMIDENDACH="1" /> <bauweise MASSIV="1" FERTIGTEILE="1" HOLZ="1" /> <ausbaustufe BAUSATZHAUS="1" AUSBAUHAUS="1" SCHLUESSELFERTIGMITKELLER="1" SCHLUESSELFERTIGOHNEBODENPLATTE="1" SCHLUESSELFERTIGMITBODENPLATTE="1" /> <energietyp PASSIVHAUS="1" NIEDRIGENERGIE="1" NEUBAUSTANDARD="1" KFW40="1" KFW60="1" /> <bibliothek>1</bibliothek> <dachboden>1</dachboden> <gaestewc>1</gaestewc> <kabelkanaele>1</kabelkanaele> <seniorengerecht>1</seniorengerecht> <user_defined_simplefield feldname="" /> <user_defined_anyfield /> <user_defined_extend> <feld> <name /> <wert /> <typ /> <modus /> </feld> </user_defined_extend> </ausstattung> <zustand_angaben> <baujahr /> <zustand zustand_art="ENTKERNT" /> <alter alter_attr="ALTBAU" /> <bebaubar_nach bebaubar_attr="34_NACHBARSCHAFT" /> <erschliessung erschl_attr="TEILERSCHLOSSEN" /> <altlasten /> <energiepass> <epart>VERBRAUCH</epart> <gueltig_bis>08-2012</gueltig_bis> <energieverbrauchkennwert>100</energieverbrauchkennwert> <mitwarmwasser>false</mitwarmwasser> <endenergiebedarf /> </energiepass> <user_defined_simplefield feldname="" /> <user_defined_anyfield /> <user_defined_extend /> </zustand_angaben> <bewertung> <feld> <name>abc</name> <wert>100</wert> </feld> </bewertung> <infrastruktur> <zulieferung>false</zulieferung> <ausblick blick="BERGE" /> <distanzen distanz_zu="HAUPTSCHULE" >22.00</distanzen> <distanzen_sport distanz_zu_sport="SEE" >15</distanzen_sport> <user_defined_simplefield feldname="" /> <user_defined_anyfield /> <user_defined_extend /> </infrastruktur> <freitexte> <objekttitel /> <dreizeiler /> <lage /> <ausstatt_beschr /> <objektbeschreibung /> <sonstige_angaben /> </freitexte> <anhaenge> <anhang location="INTERN" gruppe="TITELBILD"> <anhangtitel >Frontansicht des Hauses</anhangtitel > <format>JPEG</format> <check ctype="DATETIME">2011-09-01T12:15:05</check> <daten> <pfad >abc.jpg</pfad > </daten> </anhang> <user_defined_simplefield feldname="" /> <user_defined_anyfield /> </anhaenge> <verwaltung_objekt> <objektadresse_freigeben>false</objektadresse_freigeben> <verfuegbar_ab /> <abdatum>2001-01-01</abdatum> <bisdatum>2001-01-01</bisdatum> <min_mietdauer min_dauer="MONAT" /> <max_mietdauer max_dauer="MONAT" /> <versteigerungstermin>2001-01-01</versteigerungstermin> <wbs_sozialwohnung>false</wbs_sozialwohnung> <vermietet>false</vermietet> <gruppennummer /> <zugang /> <laufzeit>10</laufzeit> <max_personen>10</max_personen> <nichtraucher>true</nichtraucher> <haustiere>true</haustiere> <geschlecht geschl_attr="EGAL" /> <denkmalgeschuetzt>false</denkmalgeschuetzt> <als_ferien>true</als_ferien> <gewerbliche_nutzung>true</gewerbliche_nutzung> <branchen /> <hochhaus>false</hochhaus> <user_defined_simplefield feldname="" /> <user_defined_anyfield /> </verwaltung_objekt> <verwaltung_techn> <objektnr_intern /> <objektnr_extern /> <aktion aktionart="CHANGE" /> <aktiv_von>2001-01-01</aktiv_von> <aktiv_bis>2001-01-03</aktiv_bis> <openimmo_obid>111</openimmo_obid> <kennung_ursprung /> <stand_vom>2001-02-03</stand_vom> <weitergabe_generell>true</weitergabe_generell> <weitergabe_positiv /> <weitergabe_negativ /> <gruppen_kennung>001</gruppen_kennung> <master visible="false">001</master> <user_defined_simplefield feldname="" /> <user_defined_anyfield /> <user_defined_extend /> </verwaltung_techn> <user_defined_simplefield feldname="" /> <user_defined_anyfield> <!-- Beispiele --> <plaintext fieldname="objektart" fieldvalue="Etagenwohnung" /> <plaintext fieldname="auslandsregion" fieldvalue="Canillo" /> <plaintext fieldname="zustand" fieldvalue="vollständig renoviert" /> <plaintext fieldname="ausstattung" fieldvalue="Gehoben" /> <plaintext fieldname="heizungsart" fieldvalue="Ofenheizung" /> <plaintext fieldname="befeuerungsart" fieldvalue="Solarheizung" /> <plaintext fieldname="provisionshinweis" fieldvalue="hinweis1" /> <plaintext fieldname="parkplatztyp" fieldvalue="Duplex" /> <plaintext fieldname="bauphase" fieldvalue="WERT" /> <plaintext fieldname="bodenbelag" fieldvalue="WERT" /> <plaintext fieldname="zulieferung" fieldvalue="WERT" /> <plaintext fieldname="empfohlene_nutzung" fieldvalue="WERT" /> <plaintext fieldname="baunutzung" fieldvalue="WERT" /> <plaintext fieldname="headline" fieldvalue=" Einfamilienhaus in Dortmund" /> <flag fieldname="balkon" fieldvalue="true" /> <flag fieldname="terrasse" fieldvalue="false" /> <flag fieldname="preisaufanfrage" fieldvalue="false" /> </user_defined_anyfield> <user_defined_extend /> </immobilie> <impressum /> <impressum_strukt> <firmenname /> <firmenanschrift /> <telefon /> <vertretungsberechtigter /> <berufsaufsichtsbehoerde /> <handelsregister /> <handelsregister_nr /> <umsst-id /> <steuernummer /> <weiteres /> </impressum_strukt> <user_defined_simplefield feldname="" /> <user_defined_anyfield /> </anbieter> <user_defined_simplefield feldname="" /> <user_defined_anyfield /> </openimmo> FIRST STEP: So I will create the same fields as Variables. Read the XML as an Array and then i have to create a new page and fill the Variables from the created XML-Array. The Id have to be unique SECOND STEP: Based on some term's the page have different parents, some other things like visible or not. If there is an object with the same Id then I have to check which changes are new in the array So thats for now.
  11. But then I've always to import the CSV Data ? I thought it will be better if I compare for new data or changes via cron job or something.
  12. Hello, so I'm now on a point where I don't really understand how to realize this. I've exported the data as a PHP-Export. EXAMPLE here Now i have a lot of php files and the data that I need is stored in $GLOBAL arrays. Here is the structure after export also here available for details http://wiki.openestate.org/mediawiki/images/d/d6/OpenEstate-PHP-1.6.zip the difference is that there is a new folder "data" folder with all the objects in there. The objects are stored in the "id-number" folders with all the necessary informations and files which belongs to the object. In the files object.php and text.php are the infos stored like arrays. OBJECT.PHP <?php /** * Website-Export, Inserat #01-21, Objektdaten. * $Id$ * * @author Andreas Rudolph & Walter Wagner * @copyright 2009-2013, OpenEstate.org * @license http://www.gnu.org/licenses/gpl-3.0.txt */ if (!defined('IN_WEBSITE')) { exit; } $GLOBALS['immotool_objects']['01-21'] = array( 'id' => '01-21', 'action' => 'purchase', 'type' => 'office', 'type_path' => array('general_commercial', 'office_surgery', 'office'), 'currency' => 'EUR', 'nr' => '01-01-111111', 'hidden_price' => false, 'group_nr' => '120', 'created_at' => 1389609085, 'modified_at' => 1389618106, 'mail' => 'name@this-url.de', 'title' => array( 'de' => 'TEST Objekt for PW', ), 'address' => array( 'country' => 'DE', 'country_name' => array( 'de' => 'Deutschland', ), 'postal' => '89231', 'city' => 'Testort', 'city_part' => 'Testortsteil', 'street' => 'test', 'street_nr' => '1', 'region' => 'Testregion', 'latitude' => null, 'longitude' => null, ), 'contact' => array( 'country' => 'DE', 'country_name' => array( 'de' => 'Deutschland', ), 'postal' => '89079', 'city' => 'Ulm-Wiblingen', 'city_part' => 'Wiblingen', 'street' => 'Saulgauer Straße', 'street_nr' => '9', 'region' => null, 'latitude' => null, 'longitude' => null, 'person_title' => null, 'person_firstname' => 'Hans-Martin', 'person_middlename' => null, 'person_lastname' => 'Fleck', 'person_fullname' => 'Hans-Martin Fleck', 'person_mail' => 'name@this-url.de', 'person_phone' => '017631470', 'person_mobile' => '01763147', 'person_fax' => null, 'person_gender' => 'MALE', ), 'attributes' => array( 'prices' => array( 'purchase_price' => array( 'value' => 1100.0, 'de' => '1.100,00 EUR', ), 'purchase_price_per_area' => array( 'value' => 220.0, 'de' => '220,00 EUR', ), 'purchase_price_on_annual_rental_income' => array( 'value' => 2555.0, 'de' => '2.555', ), 'plus_vat' => array( 'value' => true, 'de' => 'ja', ), 'vat_rate' => array( 'value' => 585.0, 'de' => '585', ), 'vat_value' => array( 'value' => 254.0, 'de' => '254,00 EUR', ), 'service_charges' => array( 'value' => 1000.0, 'de' => '1.000,00 EUR', ), 'heating_costs' => array( 'value' => 255.0, 'de' => '255,00 EUR', ), 'service_charges_including_heating_costs' => array( 'value' => true, 'de' => 'ja', ), 'negotiable' => array( 'value' => 'YES', 'de' => 'ja', ), 'special_offer' => array( 'value' => true, 'de' => 'ja', ), 'net_return' => array( 'value' => 212.0, 'de' => '212', ), 'rental_income_actual_per_annum' => array( 'value' => 66.0, 'de' => '66,00 EUR', ), 'rental_income_debit_per_annum' => array( 'value' => 6.0, 'de' => '6,00 EUR', ), 'rental_income_per_month' => array( 'value' => 66.0, 'de' => '66,00 EUR', ), 'shared_capital' => array( 'value' => 100.0, 'de' => '100,00 EUR', ), 'car_parking_space_price' => array( 'value' => 120.0, 'de' => '120,00 EUR', ), 'car_parking_space_obligation' => array( 'value' => 'EITHER_OR', 'de' => 'entweder / oder', ), 'price_proportion_ground' => array( 'value' => 222.0, 'de' => '222,00 EUR', ), 'agent_fee' => array( 'de' => '3,57', 'de' => '3,57', ), 'agent_fee_including_vat' => array( 'value' => true, 'de' => 'ja', ), ), 'measures' => array( 'total_area' => array( 'value' => 555.0, 'unit' => 'SQM', 'de' => 'ca. 555 m²', ), 'count_rooms' => array( 'value' => 6.0, 'de' => '6', ), 'count_separate_toilets' => array( 'value' => 1, 'de' => '1', ), 'commercial_area' => array( 'value' => 10.0, 'unit' => 'SQM', 'de' => 'ca. 10 m²', ), 'storage_area' => array( 'value' => 22.0, 'unit' => 'SQM', 'de' => 'ca. 22 m²', ), 'administration_area' => array( 'value' => 100.0, 'unit' => 'SQM', 'de' => 'ca. 100 m²', ), 'office_area' => array( 'value' => 5.0, 'unit' => 'SQM', 'de' => 'ca. 5 m²', ), 'plot_area' => array( 'value' => 66.0, 'unit' => 'SQM', 'de' => 'ca. 66 m²', ), 'divisible_from_area' => array( 'value' => 33.0, 'unit' => 'SQM', 'de' => 'ca. 33 m²', ), 'count_parking_spaces' => array( 'value' => 5, 'de' => '5', ), 'car_parking_area' => array( 'value' => 22.0, 'unit' => 'SQM', 'de' => 'ca. 22 m²', ), 'usable_area' => array( 'value' => 633.0, 'unit' => 'SQM', 'de' => 'ca. 633 m²', ), 'basement_area' => array( 'value' => 55.0, 'unit' => 'SQM', 'de' => 'ca. 55 m²', ), 'rentable_area' => array( 'value' => 100.0, 'unit' => 'SQM', 'de' => 'ca. 100 m²', ), 'rented_area' => array( 'value' => 100.0, 'unit' => 'SQM', 'de' => 'ca. 100 m²', ), 'remaining_areas' => array( 'value' => 662.0, 'unit' => 'SQM', 'de' => 'ca. 662 m²', ), 'cubature_volume' => array( 'value' => 4555.0, 'unit' => 'CUM', 'de' => 'ca. 4.555 m³', ), ), 'features' => array( 'equipment' => array( 'value' => 'BASIC', 'de' => 'einfach', ), 'floor' => array( 'de' => '011', 'de' => '011', ), 'count_floors' => array( 'value' => 3, 'de' => '3', ), 'type_of_heating' => array( 'value' => array('self_contained_central'), 'de' => 'Etagenheizung', ), 'type_of_beaconing' => array( 'value' => array('alternatively'), 'de' => 'Alternativ', ), 'flooring_material' => array( 'value' => array('wood'), 'de' => 'Holz', ), 'kitchen' => array( 'value' => array('kitchen_nook'), 'de' => 'Kochecke', ), 'commercial_rooms' => array( 'value' => array('archive'), 'de' => 'Archiv', ), 'commercial_services' => array( 'value' => array('catering'), 'de' => 'Catering', ), 'security_technology' => array( 'value' => array('camera'), 'de' => 'Kamera', ), 'barrier_free' => array( 'value' => false, 'de' => 'nein', ), 'lift' => array( 'value' => false, 'de' => 'nein', ), 'basement' => array( 'value' => false, 'de' => 'nein', ), 'technics' => array( 'value' => array('dvbt_reception'), 'de' => 'DVBT-Empfang', ), 'broadband_internet' => array( 'de' => '6000', 'de' => '6000', ), 'broadband_internet_speed' => array( 'value' => 5000, 'de' => '5.000', ), 'glazing' => array( 'value' => array('thermal_insulation'), 'de' => 'Wärmeschutz', ), 'air_conditioned' => array( 'value' => false, 'de' => 'nein', ), 'floor_loading' => array( 'value' => 1500.0, 'de' => '1.500', ), 'ceiling_load' => array( 'value' => 2000.0, 'de' => '2.000', ), 'attached_gastronomy' => array( 'value' => true, 'de' => 'ja', ), ), 'condition' => array( 'build_year' => array( 'value' => 1986, 'de' => '1986', ), 'age' => array( 'value' => 'OLD_BUILDING', 'de' => 'Altbau', ), 'condition_type' => array( 'value' => 'PARTIALLY_REFURBISHED', 'de' => 'teilweise saniert', ), 'construction_phase' => array( 'value' => 'COMPLETED', 'de' => 'Bau abgeschlossen', ), 'refurbishment_year' => array( 'value' => 233, 'de' => '233', ), 'refurbishment_percentage' => array( 'value' => 200, 'de' => '200', ), 'renovation_percentage' => array( 'value' => 155, 'de' => '155', ), ), 'surroundings' => array( 'next_town' => array( 'de' => 'Ulm', 'de' => 'Ulm', ), 'area' => array( 'value' => 'CITY', 'de' => 'Ortslage', ), 'commercial_area' => array( 'value' => 'LOCATION_2A', 'de' => '2A-Lage', ), 'view' => array( 'value' => array('mountain_view'), 'de' => 'Bergblick', ), 'distance_to_bus_station' => array( 'value' => 11.0, 'unit' => 'M', 'de' => 'ca. 11 m', ), 'distance_to_main_line_station' => array( 'value' => 133.0, 'unit' => 'M', 'de' => 'ca. 133 m', ), 'distance_to_next_train_station' => array( 'value' => 66644.0, 'unit' => 'M', 'de' => 'ca. 66.644 m', ), 'distance_to_airport' => array( 'value' => 566.0, 'unit' => 'M', 'de' => 'ca. 566 m', ), 'distance_to_motorway' => array( 'value' => 5587.0, 'unit' => 'M', 'de' => 'ca. 5.587 m', ), 'distance_to_city_centre' => array( 'value' => 12588.0, 'unit' => 'M', 'de' => 'ca. 12.588 m', ), ), 'administration' => array( 'usage' => array( 'value' => array('garden'), 'de' => 'Garten', ), 'charge_begin_date' => array( 'value' => 1390604400, 'de' => '25.01.2014', ), 'charge_end_date' => array( 'value' => 1391122800, 'de' => '31.01.2014', ), 'rented' => array( 'value' => true, 'de' => 'ja', ), 'rented_percentage' => array( 'value' => 100.0, 'de' => '100', ), 'availability_begin' => array( 'de' => 'verfügbar ab', 'de' => 'verfügbar ab', ), 'availability_begin_date' => array( 'value' => 1391122800, 'de' => '31.01.2014', ), 'availability_end' => array( 'de' => 'verfügbar bis', 'de' => 'verfügbar bis', ), 'availability_end_date' => array( 'value' => 1389308400, 'de' => '10.01.2014', ), 'access_begin_date' => array( 'de' => 'Zugang zum Objekt', 'de' => 'Zugang zum Objekt', ), 'rooms_modifiable' => array( 'value' => 'YES', 'de' => 'ja', ), 'commercial_industries' => array( 'de' => 'Branche', 'de' => 'Branche', ), 'monumental_protection' => array( 'value' => false, 'de' => 'nein', ), 'energy_certificate_type' => array( 'value' => 'DEMAND', 'de' => 'nach Bedarf', ), 'energy_certificate_consumption' => array( 'value' => 110.0, 'de' => '110', ), 'energy_certificate_demand' => array( 'value' => 120.0, 'de' => '120', ), 'energy_certificate_including_hot_water' => array( 'value' => true, 'de' => 'ja', ), 'energy_certificate_expiration' => array( 'de' => '12.01.2014', 'de' => '12.01.2014', ), 'regional_notes' => array( 'de' => 'Regionaler Zusatz', 'de' => 'Regionaler Zusatz', ), 'effective_date' => array( 'value' => 1389740400, 'de' => '15.01.2014', ), ), ), 'images' => array( array( 'name' => '538e63176d54164689d41eb34a36f9033b28ca86.jpg', 'thumb' => '538e63176d54164689d41eb34a36f9033b28ca86.thumb.jpg', 'mimetype' => 'image/jpeg', 'type' => null, 'title' => array( 'de' => null, ), ), array( 'name' => 'f244e231dd7ac029eea8630e495ee8f4cc1bff73.jpg', 'thumb' => 'f244e231dd7ac029eea8630e495ee8f4cc1bff73.thumb.jpg', 'mimetype' => 'image/jpeg', 'type' => null, 'title' => array( 'de' => null, ), ), ), 'media' => array( ), 'links' => array( array( 'id' => 'Rt8gNUwE1OQ', 'provider' => 'video@youtube.com', 'url' => 'http://www.youtube.com/watch?v=Rt8gNUwE1OQ', 'title' => array( 'de' => 'Novamir Link', ), ), ), 'other' => array( ), ); ?> TEXT.PHP <?php /** * Website-Export, Inserat #01-21, Beschreibungstexte. * $Id$ * * @author Andreas Rudolph & Walter Wagner * @copyright 2009-2013, OpenEstate.org * @license http://www.gnu.org/licenses/gpl-3.0.txt */ if (!defined('IN_WEBSITE')) { exit; } $GLOBALS['immotool_texts']['01-21'] = array( 'id' => '01-21', 'detailled_description' => array( 'de' => 'Beschreibung im Detail', ), 'location_description' => array( 'de' => 'Beschreibung der Lage', ), 'feature_description' => array( 'de' => 'Beschreibung der Ausstattung', ), 'price_description' => array( 'de' => 'Beschreibung der Preisgestaltung', ), 'agent_fee_information' => array( 'de' => 'Details zur Provision', ), 'additional_information' => array( 'de' => 'Weitere Informationen', ), 'short_description' => array( 'de' => 'Kurzbeschreibung', ), 'keywords' => array( 'de' => 'Schlüsselwörter', ), ); ?> So after all the day reading about different method's to import / wire / and bootstrapping pw im now much more confused. Whats the right way to attach all the data from arrays to the PW website Database ? Tried to understand the Case Study but without Success because I've to learn PW and PHP at the same time. After 3h reading I'm currently at /** * Test Page template */ include("./head.inc"); include ('/xampp/htdocs/test/immos/data/01-1/object.php'); print_r ($GLOBALS['immotool_objects']); include("./foot.inc"); So I need an advanced user advice. What now ? Should I create the fields manually or is there a way to create them from the array ? How do i Check for new updates in the data folder ? An check for changes on existing objects ? Whats the next workflow to Import complete data to PW ? Or should I use the Wrapper here But then I can't handle the Data from PW. I need some Help and Guidelines. My head is after so much Information the last days overwhelmed
  13. I know how you feel . That's my story: I havent a long time the courage to switch from Modx to PW because I had only some basics in php code.(feel that have not more currently ) So I spend at first a little bit of my time to read this and that.The more I have read the more I was thrilled. It couldn't be true that's PW is so flexible and easy to handle? But it is! I decided to make 2 small projects and one bigger at the same time. Because there were no really deadlines. So I installed 5 different PW Profiles on my local machine and tried to understand. Read about better templating method here. I think I've read the same post more than 10 times. (Much more ). I followed some posts that were interesting for me. But it was a really long way.Time stood still. I has been slow, with the learning I thought. I say again Im not a coder. And yesterday it makes in one minute during I drunk my beer after a long day in the office a BIG BANG. I spend not more than 2 hours to make the PW work for an Nightclub Page. I don't know why, but it was so clear for me how to make my templates, pages for events with different fields. I knew which module input or field I need for every thing. It was a really magic moment for me . Now it is clearly "ALL THE FUTURE PROJECTS WILL BE DONE WITH PW" I love this CMS/Framework. I will also say thank you Ryan and all those that contribute (Apesia, Soma, Kongondo, and the rest) PS: MadeMyDay because with his help and patience I learned a long time ago ModX and then I followed him to PW.
  14. Thanks a lot, so it was right in my opinion. I thought the same but was not sure. I know its possible to export also CSV files. I will create at first all the placeholders and there are a lot of them Then I will try also with the CSV format and give some feedback. I think it could be a useful thing for more people in the future
  15. It comes from OpenEstate ImmoTool. http://de.openestate.org There are different Export formats possible. I thought i try it with XML.
  16. Hi, need some help from more coder than designer users Im currently on a point where I dont know how to figure it right, I have exported zip File which contains an XML with the Objects and the images for each Object. How to handle it right Have I to create fileds for each object property ? Than analyze the XML and include the changes for each field ? or whats the workflow in this case ?
  17. Thenks for this Profile. It was really helpful for me also to see how i can exclude functions in seperate *.inc file for example. and the small gallery example was also really helpful. At first i was confused of the old inc files and templates from the standart installation. I think it were better for PW newbies (like Me ) to clean out the profile and remove the unnecessary files. apart from that a very good job thank you
  18. Awsome Thanks for this Module, i need to handle a gallery page with many galleries and the have to be sorted. The Problem is that each gallery contains abot 200 Pictures. Its possible to display cropImages as a grid ? Like the standard images ? http://prntscr.com/2hxlc4 Or its better in this case to use the standart image field and manipulate the images with Image Manipulator http://modules.processwire.com/modules/page-image-manipulator/
  19. My current problem is that I'm not a coder. I read every free minute here in the forum. The more I read the more I see different examples for the same thing. Starting already at templating e.g. So I have to read simultaneously PW Tutorials(Forum | HowTo's | FAQ's) , PHP Basics and look always to the Cheatsheet. I have to say Im really impressed more and more about PW's scope. Up to this point, everything is clear. basic-page.php <?php $page->outMain = "<h2>{$page->subtitle}</h2>" . $page->body; if($page->numChildren) $page->outMain .= $page->children->render(); // list the children // note: no $outSide specified include("./main.php"); main.php <?php // setup defaults when none specified if(empty($page->outMain)) $page->outMain = $page->body; if(empty($page->outSide)) $page->outSide = $page->sidebar; ?> <html> <head> <title><?php echo $page->title; ?></title> </head> <body> <h1><?php echo $page->title; ?></h1> <div id='main'><?php echo $page->outMain; ?></div> <div id='side'><?php echo $page->outSide; ?></div> </body> </html> and here it ends at the time I WROTE SOME COMMENTS WHAT I DONT UNDERSTAND REALLY basic-page.php <?php // make a custom <title> tag $page->browserTitle = $page->rootParent->title . ": " . $page->title; $page->outMain = "<h2>{$page->subtitle}</h2>" . $page->body; if(count($page->images)) { // display a clickable lightbox gallery if this page has images on it $config->scripts->add($config->urls->templates . "scripts/lightbox.js"); //WHAT HAPPENS HERE AND WHERE GOES IT IN ? $config->styles->add($config->urls->templates . "styles/gallery.css"); //WHERE IS THE CONFIG BLOCK WITH THE CODE $page->outMain .= "<ul id='gallery'>"; foreach($page->images as $i) { $t = $i->size(100,100); $page->outMain .= "<li><a href='{$i->url}'><img src='{$t->url}' alt='{$t->description}' /></a></li>"; //WHAT HAPPENS TO THE BODYTEXT IN THE outMain PLACEHOLDER IF THERE ARE IMAGES ON THE SITE ? THEN ONLY IMAGES SHOWN ON THE SITE } $page->outMain .= "</ul>"; // add a note to $page->title to say how many photos are in the gallery $page->title .= " (with " . count($page->images) . " photos!)"; } if($page->numChildren) $page->outMain .= $page->children->render(); // list the children include("./main.php"); main.php <?php // if current template has it's own custom CSS file, then include it $file = "styles/{$page->template}.css"; if(is_file($config->paths->templates . $file)) $config->styles->add($config->urls->templates . $file); // AGANIN THE $config placeholder ? Where goes it ? What happens real in the first two lines ?? // if current template has it's own custom JS file, then include it $file = "scripts/{$page->template}.js"; if(is_file($config->paths->templates . $file)) $config->scripts->add($config->urls->templates . $file); // How do you check or where do you define the own custom JS file ? ?> <html> <head> <title><?php echo $page->get('browserTitle|title'); // use browserTitle if there, otherwise title ? WHERE IS BROWSER TITLE DEFINED ? ?></title> <?php foreach($config->styles as $url) echo "<link rel='stylesheet' type='text/css' href='$url' />"; // HAVE I TO DEFINE IN EVERY TPL FILE THE $config placeholder ? foreach($config->scripts as $url) echo "<script type='text/javascript' src='$url'></script>"; ?> </head> <body> <h1><?php echo $page->title; ?></h1> <div id='main'><?php echo $page->get('outMain|body'); // use outMain if there, or body otherwise ?></div> <div id='side'><?php echo $page->get('outSide|sidebar'); // use outSide if there, or sidebar otherwise ?></div> </body> </html> I try to find my workflow with the basic installation and some modules where I think i will always use in all projects. e.g. Simple Markup Navigation I change the example code in the installation head.inc <?php // Generate Menu $treeMenu = $modules->get("MarkupSimpleNavigation"); echo $treeMenu->render($options); ?> sitemap.php $treeMenu = $modules->get("MarkupSimpleNavigation"); echo $treeMenu->render($optionsMap); have a new file called functions.inc like in the Blog Profile example where i try to store all settings what I need. and include in in the head.inc functions.inc $homepage = $pages->get("/"); $browserTitle = $page->title; // what appears in the <title> tag $headline = $page->headline; // primary h1 headline $content = $page->body; // bodycopy area $options = array( 'parent_class' => 'on', 'levels' => false, 'max_levels' => 1, 'show_root' => true, 'selector_field' => 'nav_selector', 'outer_tpl' => '<ul id="topnav" >||</ul>' ); $optionsMap = array( 'parent_class' => 'on', 'levels' => false, 'max_levels' => 0, 'show_root' => true, 'selector_field' => 'nav_selector', 'outer_tpl' => '<ul class="sitemap" >||</ul>' ); And I see in the examples that I have to youse always a placeholder ?? Why is it better ? e.g. $page->browserTitle = $page->rootParent->title . ": " . $page->title; $page->outMain = "<h2>{$page->subtitle}</h2>" . $page->body; It means that the $page placeholder is an Array ? an I have to define whats in there ? Like $browserTitle $outeMain $sidBar $customThings ?? is this the same Placeholder ? $page The $page variable is provided to every template, and it contains all the fields specific to the page being viewed. This includes both built-in fields, which are common to all pages, as well as the custom fields. Because ryan wrote
  20. So after reading again and again a lot of posts and examples I start to understand the way Its done. What should I look for to not harm the performance? Are they some Main Rules and Main NoGo's for this way of using templates?
  21. Thanks for your help. Exactly what I was looking for. Irony is that you have helped me a lot with ModX Evo some years ago and also here now.
  22. you talk about template files ? you mean the real *.php files or the templates with placeholders but without files ? and included an the end ? based on the document or how thy system knows what to show ? According to which criteria is decided what to show ? I have understood you correctly ?
  23. Mark like always good work I would be interested the structure. How many diffrent templates have you for this site ? and how many template per template?
  24. This is too blatant. In ModX I had a basic structure for my concept. I knew what to do in the header chunk and the footer chunk the rest I've done in the content. I figure it with Content and Template Variables. Im PW its much more complicated for me. its too flexible. you can do what you want and on every place. DAMN I have really get used to it.
  25. Hello, I think you have misunderstood something. Why you want to place DIV's in there ? The TinyMCE is just a WYSIWYG editor and helps you to format the i say carefully the "TEXT" in the content.. You can customize it to make more but that is not intended to create your html structure. Your HTML structure you create in the template PHP files It's best to reads at times the two tutorials through here. this one http://wiki.processwire.com/index.php/Small_Project_Walkthrough and this immediately afterwards. Is a little more detail but shows you the construction of PW http://wiki.processwire.com/index.php/Basic_Website_Tutorial here is a better advice http://processwire.com/talk/topic/2850-processwire-for-designers/?p=28027
×
×
  • Create New...